aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHaibo Huang <hhb@google.com>2019-07-15 15:21:25 -0700
committerandroid-build-merger <android-build-merger@google.com>2019-07-15 15:21:25 -0700
commit42c781d54a3185dd24fcf749bbf10bc2ad2ae9b7 (patch)
tree3501d620d3e4bb913c3967e121073f3a15825a7d
parentcbe00e33b0314fdcf19b967ecbbaf294ed7701b7 (diff)
parentd91b63191434b157a00b65812d3621bdefd67dbd (diff)
downloadlibmtp-42c781d54a3185dd24fcf749bbf10bc2ad2ae9b7.tar.gz
Merge "Upgrade libmtp to 'libmtp-1-1-16'"ndk-sysroot-r21
am: d91b631914 Change-Id: I361df2894d4a0ae5dc1758c30c214888ab017f45
-rw-r--r--INSTALL2
-rw-r--r--METADATA8
l---------[-rw-r--r--]NOTICE505
-rw-r--r--configure.ac2
-rw-r--r--logs/mtp-detect-acer-t07.txt527
-rw-r--r--logs/mtp-detect-amazon-kindle-fire-0012.txt482
-rw-r--r--logs/mtp-detect-archos-50f-helium.txt516
-rw-r--r--logs/mtp-detect-asus-zenfone-v.txt581
-rw-r--r--logs/mtp-detect-bq-u-plus.txt560
-rw-r--r--logs/mtp-detect-casio-gzone-commando-c771.txt484
-rw-r--r--logs/mtp-detect-cat-s41.txt554
-rw-r--r--logs/mtp-detect-coolpad-quattro-801es.txt464
-rw-r--r--logs/mtp-detect-garmin-forerunner-645-music.txt391
-rw-r--r--logs/mtp-detect-hisense-a2.txt448
-rw-r--r--logs/mtp-detect-huawei-u29.txt449
-rw-r--r--logs/mtp-detect-huawei-y5-2017.txt577
-rw-r--r--logs/mtp-detect-lemobile-le2.txt1017
-rw-r--r--logs/mtp-detect-lenovo-vibe-shot-z90a40.txt534
-rw-r--r--logs/mtp-detect-letv-lemax2.txt520
-rw-r--r--logs/mtp-detect-lge-vs990.txt586
-rw-r--r--logs/mtp-detect-mediatek-5508duo.txt520
-rw-r--r--logs/mtp-detect-medion-tablet-p10606.log519
-rw-r--r--logs/mtp-detect-niteto-adf-drive.txt110
-rw-r--r--logs/mtp-detect-nokia-6.txt538
-rw-r--r--logs/mtp-detect-nokia-lumia-1520.txt844
-rw-r--r--logs/mtp-detect-op-innovations-xdp-100r.txt124
-rw-r--r--logs/mtp-detect-sony-xperia-a2.txt632
-rw-r--r--logs/mtp-detect-sony-xperia-x.log621
-rw-r--r--logs/mtp-detect-sony-xperia-xz.txt613
-rw-r--r--logs/mtp-detect-sony-xperia-xz2.txt613
-rw-r--r--logs/mtp-detect-xiaomi-mimax2.txt534
-rw-r--r--logs/mtp-detect-zuk-z2pro.txt558
-rw-r--r--src/Makefile.am4
-rw-r--r--src/chdk_live_view.h13
-rw-r--r--src/chdk_ptp.h494
-rw-r--r--src/device-flags.h29
-rw-r--r--src/libmtp.c163
-rw-r--r--src/libmtp.h.in13
-rw-r--r--src/libmtp.sym2
-rw-r--r--src/libopenusb1-glue.c10
-rw-r--r--src/libusb-glue.c6
-rw-r--r--src/libusb-glue.h2
-rw-r--r--src/libusb1-glue.c227
-rw-r--r--src/mtpz.h2
-rw-r--r--src/music-players.h275
-rw-r--r--src/ptp-pack.c280
-rw-r--r--src/ptp.c858
-rw-r--r--src/ptp.h400
-rw-r--r--src/util.c1
-rw-r--r--util/mtp-hotplug.c4
50 files changed, 17385 insertions, 831 deletions
diff --git a/INSTALL b/INSTALL
index 203957d..12469eb 100644
--- a/INSTALL
+++ b/INSTALL
@@ -32,7 +32,7 @@ Dependencies
To build libmtp you should only need development files for libusb.
(Often named libusb-devel or similar.) For working with CVS versions
-you may need autoconf, automake, libtool, gettext(-devel).
+you may need autoconf, automake, libtool, pkg-config, gettext(-devel).
To enable the optional MTPZ support using libgcrypt you need the
libgcrypt library installed as well.
diff --git a/METADATA b/METADATA
index f6469b6..6be42c5 100644
--- a/METADATA
+++ b/METADATA
@@ -5,10 +5,10 @@ third_party {
type: GIT
value: "https://github.com/libmtp/libmtp.git"
}
- version: "libmtp-1-0-1"
+ version: "libmtp-1-1-16"
last_upgrade_date {
- year: 2017
- month: 6
- day: 13
+ year: 2019
+ month: 7
+ day: 10
}
}
diff --git a/NOTICE b/NOTICE
index 213a1ab..d24842f 100644..120000
--- a/NOTICE
+++ b/NOTICE
@@ -1,504 +1 @@
- 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!
-
-
+COPYING \ No newline at end of file
diff --git a/configure.ac b/configure.ac
index 3dcb0f0..9322473 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.52)
-AC_INIT([libmtp], [1.1.13], [libmtp-discuss@lists.sourceforge.net])
+AC_INIT([libmtp], [1.1.16], [libmtp-discuss@lists.sourceforge.net])
AC_CONFIG_MACRO_DIR([m4])
AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_SRCDIR([src/libmtp.c])
diff --git a/logs/mtp-detect-acer-t07.txt b/logs/mtp-detect-acer-t07.txt
new file mode 100644
index 0000000..105475e
--- /dev/null
+++ b/logs/mtp-detect-acer-t07.txt
@@ -0,0 +1,527 @@
+libmtp version: 1.1.10
+
+Listing raw device(s)
+ Found 1 device(s):
+ 0502:38a5 @ 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: 0502
+ idProduct: 38a5
+ 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: 0x0502
+ Product: (null)
+ Vendor id: 0x38a5
+ 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: T07
+ Device version: 1.0
+ Serial number: HMHVCEE0016396E5964
+ 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: 0xf0ab0001
+ StorageType: 0x0004 removable RAM storage
+ FilesystemType: 0x0002 generic hierarchical
+ AccessCapability: 0x0000 read/write
+ MaxCapacity: 31715852288
+ FreeSpaceInBytes: 29270245376
+ FreeSpaceInObjects: 1073741824
+ StorageDescription: SD-Karte
+ VolumeIdentifier: (null)
+ StorageID: 0x00010001
+ StorageType: 0x0003 fixed RAM storage
+ FilesystemType: 0x0002 generic hierarchical
+ AccessCapability: 0x0000 read/write
+ MaxCapacity: 11912568832
+ FreeSpaceInBytes: 5098164224
+ 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: Acer Liquid Zest 4G
+ Synchronization partner: Acer Liquid Zest 4G
+ 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-amazon-kindle-fire-0012.txt b/logs/mtp-detect-amazon-kindle-fire-0012.txt
new file mode 100644
index 0000000..00348ff
--- /dev/null
+++ b/logs/mtp-detect-amazon-kindle-fire-0012.txt
@@ -0,0 +1,482 @@
+Device 0 (VID=1949 and PID=0012) 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):
+ 1949:0012 @ 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: 1949
+ idProduct: 0012
+ 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: 0x1949
+ Product: (null)
+ Vendor id: 0x0012
+ 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: B0890706442601D6
+ 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.
+Device 0 (VID=1949 and PID=0012) 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.Listing raw device(s)
+ Found 1 device(s):
+ 1949:0012 @ bus 2, dev 14
+Attempting to connect device
+Android device detected, assigning default bug flags
+Listing File Information on Device with name: (NULL)
+LIBMTP_Get_Storage() failed:-1
diff --git a/logs/mtp-detect-archos-50f-helium.txt b/logs/mtp-detect-archos-50f-helium.txt
new file mode 100644
index 0000000..903aaf2
--- /dev/null
+++ b/logs/mtp-detect-archos-50f-helium.txt
@@ -0,0 +1,516 @@
+libmtp version: 1.1.13
+
+Listing raw device(s)
+ Found 1 device(s):
+ 0e79:545c @ 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: 545c
+ 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: 0x545c
+ 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 50f Helium
+ Device version: 1.0
+ Serial number: 2789858
+ 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))
+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: 31490748416
+ FreeSpaceInBytes: 3872124928
+ 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: (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-zenfone-v.txt b/logs/mtp-detect-asus-zenfone-v.txt
new file mode 100644
index 0000000..9e3d7ca
--- /dev/null
+++ b/logs/mtp-detect-asus-zenfone-v.txt
@@ -0,0 +1,581 @@
+- **assigned_to**: Marcus Meissner
+
+
+
+---
+
+** [feature-requests:#255] Asus Zenfone V -> 'Please report this VID/PID and the device model' **
+
+**Status:** open
+**Group:** Future
+**Created:** Fri Mar 09, 2018 05:29 PM UTC by Anonymous
+**Last Updated:** Fri Mar 09, 2018 05:29 PM UTC
+**Owner:** Marcus Meissner
+
+
+Receiving the following when mounting the Asus Zenfone V:
+
+~~~
+sudo jmtpfs /media/myphone
+
+Device 0 (VID=0b05 and PID=610f) 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
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.Android device detected, assigning default bug flags
+fuse: bad mount point `/media/myphone': Input/output error
+~~~
+
+System info:
+~~~
+cat /etc/issue
+Linux Mint 17.2 Rafaela \n \l
+
+uname -rv
+3.16.0-38-generic #52~14.04.1-Ubuntu SMP Fri May 8 09:43:57 UTC 2015
+
+gcc --version | head -n 1
+gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
+~~~
+
+mpt-detect output
+~~~
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.libmtp version: 1.1.6
+
+Listing raw device(s)
+ Found 1 device(s):
+ 0b05:610f @ bus 3, dev 50
+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: 610f
+ IN endpoint maxpacket: 512 bytes
+ OUT endpoint maxpacket: 512 bytes
+ Raw device info:
+ Bus location: 3
+ Device number: 50
+ Device entry info:
+ Vendor: (null)
+ Vendor id: 0x0b05
+ Product: (null)
+ Vendor id: 0x610f
+ 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_A006
+ Device version: 1.0
+ Serial number: H8AKCX031853GB7
+ 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
+ 3811: DNG
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc04: Object Size UINT64 data type READ ONLY
+ dc07: Object File Name STRING data type GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc44: Name STRING data type READ ONLY
+ dce0: 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: 0x0004 removable RAM storage
+ FilesystemType: 0x0002 generic hierarchical
+ AccessCapability: 0x0000 read/write
+ MaxCapacity: 125840662528
+ FreeSpaceInBytes: 108858765312
+ FreeSpaceInObjects: 1073741824
+ StorageDescription: SanDisk 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)
+ 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.
+~~~
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/feature-requests/255/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/> \ No newline at end of file
diff --git a/logs/mtp-detect-bq-u-plus.txt b/logs/mtp-detect-bq-u-plus.txt
new file mode 100644
index 0000000..0b4a1fd
--- /dev/null
+++ b/logs/mtp-detect-bq-u-plus.txt
@@ -0,0 +1,560 @@
+
+
+
+---
+
+** [feature-requests:#231] Device 0 (VID=2a47 and PID=f003) is UNKNOWN**
+
+**Status:** open
+**Group:** Future
+**Created:** Tue Aug 01, 2017 10:40 PM UTC by Anonymous
+**Last Updated:** Tue Aug 01, 2017 10:40 PM UTC
+**Owner:** nobody
+
+
+Device 0 (VID=2a47 and PID=f003) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+ Found 1 device(s):
+ 2a47:f003 @ bus 1, dev 29
+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: f003
+ IN endpoint maxpacket: 512 bytes
+ OUT endpoint maxpacket: 512 bytes
+ Raw device info:
+ Bus location: 1
+ Device number: 29
+ Device entry info:
+ Vendor: (null)
+ Vendor id: 0x2a47
+ 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: bq
+ Model: Aquaris U Plus
+ Device version: 1.0
+ Serial number: XX000000
+ 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
+ 3811: DNG
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc04: Object Size UINT64 data type READ ONLY
+ dc07: Object File Name STRING data type GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc44: Name STRING data type READ ONLY
+ dce0: 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: 0xbc620001
+ StorageType: 0x0004 removable RAM storage
+ FilesystemType: 0x0002 generic hierarchical
+ AccessCapability: 0x0000 read/write
+ MaxCapacity: 15923150848
+ FreeSpaceInBytes: XXXXXXXXXXX
+ FreeSpaceInObjects: XXXXXXXXXX
+ StorageDescription: Tarjeta SD SanDisk
+ VolumeIdentifier: (null)
+ StorageID: 0x00010001
+ StorageType: 0x0003 fixed RAM storage
+ FilesystemType: 0x0002 generic hierarchical
+ AccessCapability: 0x0000 read/write
+ MaxCapacity: 26083921920
+ FreeSpaceInBytes: XXXXXXXXXXX
+ FreeSpaceInObjects: XXXXXXXXXX
+ StorageDescription: Xxxxxxxxxxxxxx_xxxxxxxxx_xxxxxxxxxx
+ VolumeIdentifier: (null)
+Special directories:
+ Default music folder: 0x00000045
+ Default playlist folder: 0x00000058
+ 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 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)
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/feature-requests/231/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/> \ No newline at end of file
diff --git a/logs/mtp-detect-casio-gzone-commando-c771.txt b/logs/mtp-detect-casio-gzone-commando-c771.txt
new file mode 100644
index 0000000..27462f7
--- /dev/null
+++ b/logs/mtp-detect-casio-gzone-commando-c771.txt
@@ -0,0 +1,484 @@
+
+
+
+---
+
+** [bugs:#1724] Device 0 (VID=0409 and PID=02ed) is UNKNOWN in libmtp v1.1.13.**
+
+**Status:** open
+**Group:** 1.1.13
+**Created:** Fri Aug 25, 2017 01:46 AM UTC by Anonymous
+**Last Updated:** Fri Aug 25, 2017 01:46 AM UTC
+**Owner:** nobody
+
+
+Phone is Casio G'zOne Commando C771
+
+Output of mtp-detect:
+
+~~~
+libmtp version: 1.1.13
+
+Listing raw device(s)
+Device 0 (VID=0409 and PID=02ed) 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):
+ 0409:02ed @ bus 3, dev 4
+Attempting to connect device(s)
+USB low-level info:
+ bcdUSB: 512
+ bDeviceClass: 0
+ bDeviceSubClass: 0
+ bDeviceProtocol: 0
+ idVendor: 0409
+ idProduct: 02ed
+ 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: 0x0409
+ Product: (null)
+ Vendor id: 0x02ed
+ 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: 0c00 0000 0001 0500 0000 0000 ............
+Device responds to control message 2 with some data.
+Device info:
+ Manufacturer: CASIO
+ Model: C771
+ Device version: 1.00.000
+ Serial number: 111111
+ 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
+ Extensions:
+ 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
+ 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
+ 9201: Report Added/Deleted Items
+ 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
+ 100c: Send object info
+ 1006: Get number of objects
+ 101b: Get partial object
+ 9301: Unknown PTP_OC
+ 9302: Unknown PTP_OC
+ 9303: Unknown PTP_OC
+ 9304: Unknown PTP_OC
+ 9305: Unknown PTP_OC
+ 9306: Unknown PTP_OC
+ 9307: Unknown PTP_OC
+ 9308: Unknown PTP_OC
+ 9309: Unknown PTP_OC
+Events supported:
+ 0x4004 ((null))
+ 0x4005 ((null))
+ 0xc303 ((null))
+Device Properties Supported:
+ 0xd402: Friendly Device Name
+ 0xd401: Synchronization Partner
+ 0xd406: Session Initiator Info
+ 0xd407: Perceived Device Type
+ 0x5001: Battery Level
+ 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
+ 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
+ dc07: Object File 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, 32770, 32771, READ ONLY
+ dc44: Name STRING data type GET/SET
+ de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, READ ONLY
+ de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 192000, STEP 1 READ ONLY
+ de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353, READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2, READ ONLY
+ dc9a: Album Name STRING data type GET/SET
+ dc9b: Album Artist STRING data type GET/SET
+ dc46: Artist STRING data type GET/SET
+ dc89: Duration UINT32 data type range: MIN 0, MAX -2, 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
+ 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
+ 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
+ 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
+ dc07: Object File 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, 32770, 32771, READ ONLY
+ dc44: Name STRING data type GET/SET
+ dc87: Width UINT32 data type range: MIN 0, MAX 1024, STEP 1 GET/SET
+ dc88: Height UINT32 data type range: MIN 0, MAX 1280, STEP 1 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: 827739479, 844516695, 861293911, READ ONLY
+ de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 192000, STEP 1 READ ONLY
+ de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353, READ ONLY
+ de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, READ ONLY
+ de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2, READ ONLY
+ de9c: Video Bit Rate UINT32 data type range: MIN 8000, MAX 192000, STEP 1 READ ONLY
+ dc89: Duration UINT32 data type range: MIN 0, MAX -2, STEP 1 GET/SET
+ dc91: Use Count UINT32 data type ANY 32BIT VALUE form 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 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
+ dc07: Object File 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, 32770, 32771, READ ONLY
+ dc44: Name STRING data type GET/SET
+ de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, READ ONLY
+ de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 192000, STEP 1 READ ONLY
+ de99: Audio WAVE Codec UINT32 data type enumeration: 85, READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2, READ ONLY
+ dc9a: Album Name STRING data type GET/SET
+ dc9b: Album Artist STRING data type GET/SET
+ dc46: Artist STRING data type GET/SET
+ dc89: Duration UINT32 data type range: MIN 0, MAX -2, 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
+ 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
+ b982: MP4
+ 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
+ dc07: Object File 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, 32770, 32771, READ ONLY
+ dc44: Name STRING data type GET/SET
+ de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, READ ONLY
+ de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 192000, STEP 1 READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2, READ ONLY
+ de99: Audio WAVE Codec UINT32 data type enumeration: 80, 85, 41222, 310, 41220, READ ONLY
+ dc9a: Album Name STRING data type GET/SET
+ dc9b: Album Artist STRING data type GET/SET
+ dc46: Artist STRING data type GET/SET
+ dc89: Duration UINT32 data type range: MIN 0, MAX -2, 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
+ 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
+ dc87: Width UINT32 data type range: MIN 0, MAX 1024, STEP 1 GET/SET
+ dc88: Height UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+ de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+ de9b: Video Four CC Codec UINT32 data type enumeration: 859189832, 1195724877, 958804552, 1446269005, 1983148141, READ ONLY
+ de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, READ ONLY
+ de9c: Video Bit Rate UINT32 data type range: MIN 8000, MAX 192000, 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
+ 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
+ dc07: Object File 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, 32770, 32771, READ ONLY
+ dc44: Name STRING data type GET/SET
+ de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, READ ONLY
+ de9a: Audio Bit Rate UINT32 data type range: MIN 8000, MAX 192000, STEP 1 READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 0, 1, 2, READ ONLY
+ de99: Audio WAVE Codec UINT32 data type enumeration: 352, 353, READ ONLY
+ dc9a: Album Name STRING data type GET/SET
+ dc9b: Album Artist STRING data type GET/SET
+ dc46: Artist STRING data type GET/SET
+ dc89: Duration UINT32 data type range: MIN 0, MAX -2, 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
+ 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
+ dc87: Width UINT32 data type range: MIN 0, MAX 1024, STEP 1 GET/SET
+ dc88: Height UINT32 data type range: MIN 0, MAX 1280, STEP 1 GET/SET
+ de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX -1, STEP 1 GET/SET
+ de9b: Video Four CC Codec UINT32 data type enumeration: 859189832, 1195724877, 958804552, 875967048, 842289229, 1395937357, 1446269005, 1983148141, 828601953, READ ONLY
+ de93: Sample Rate UINT32 data type enumeration: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, READ ONLY
+ de9c: Video Bit Rate UINT32 data type range: MIN 8000, MAX 192000, STEP 1 READ ONLY
+ de97: Scan Depth UINT16 data type enumeration: 0, 1, 2, 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
+ 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
+ dc07: Object File 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, 32770, 32771, READ ONLY
+ dc44: Name STRING data type GET/SET
+ dc88: Height UINT32 data type range: MIN 0, MAX 2816, STEP 1 GET/SET
+ dc87: Width UINT32 data type range: MIN 0, MAX 2816, STEP 1 GET/SET
+ dc08: Date Created STRING data type DATETIME FORM GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM 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 65536, 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 320, STEP 1 GET/SET
+ dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 320, 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
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc07: Object File 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, 32770, 32771, READ ONLY
+ dc44: Name STRING data type GET/SET
+ dc81: Representative Sample Format UINT16 data type enumeration: 14337, 14344, READ ONLY
+ dc82: Representative Sample Sise UINT32 data type range: MIN 0, MAX 20480, STEP 1 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
+ dc83: Representative Sample Height UINT32 data type range: MIN 0, MAX 500, STEP 1 GET/SET
+ dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 500, 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 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
+ dc07: Object File 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, 32770, 32771, READ ONLY
+ dc44: Name STRING data type GET/SET
+ dc88: Height UINT32 data type range: MIN 0, MAX 2816, STEP 1 GET/SET
+ dc87: Width UINT32 data type range: MIN 0, MAX 2816, STEP 1 GET/SET
+ dc08: Date Created STRING data type DATETIME FORM GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM 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 65536, 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 320, STEP 1 GET/SET
+ dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 320, 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
+ 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
+ dc07: Object File 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, 32770, 32771, READ ONLY
+ dc44: Name STRING data type GET/SET
+ dc88: Height UINT32 data type range: MIN 0, MAX 2816, STEP 1 GET/SET
+ dc87: Width UINT32 data type range: MIN 0, MAX 2816, STEP 1 GET/SET
+ dc08: Date Created STRING data type DATETIME FORM GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM 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 65536, 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 320, STEP 1 GET/SET
+ dc84: Representative Sample Width UINT32 data type range: MIN 0, MAX 320, 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
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc07: Object File 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, 32770, 32771, READ ONLY
+ dc44: Name 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
+ 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
+ dc07: Object File 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, 32770, 32771, 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
+ 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
+ dc07: Object File 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, 32770, 32771, READ ONLY
+ dc44: Name STRING data type GET/SET
+Storage Devices:
+ StorageID: 0x20000001
+ StorageType: 0x0004 removable RAM storage
+ FilesystemType: 0x0000 (undefined)
+ AccessCapability: 0x0000 read/write
+ MaxCapacity: 7945191424
+ FreeSpaceInBytes: 7915319296
+ FreeSpaceInObjects: 4294967295
+ StorageDescription: EXTERNAL_STORAGE_DEVICE
+ VolumeIdentifier: PVDBGUID-2
+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: C771
+ Synchronization partner: (NULL)
+ Battery level 0 of 255 (0%)
+libmtp supported (playable) filetypes:
+ Microsoft Windows Media Audio
+ Microsoft Windows Media Video
+ ISO MPEG-1 Audio Layer 3
+ MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+ JPEG file
+ Abstract Album file
+ JPEG file
+ JFIF file
+ Abstract Playlist file
+ Folder
+OK.
+~~~
+
+Output from lsusb -v:
+~~~
+Bus 003 Device 004: ID 0409:02ed NEC Corp.
+Device Descriptor:
+ bLength 18
+ bDescriptorType 1
+ bcdUSB 2.00
+ bDeviceClass 0
+ bDeviceSubClass 0
+ bDeviceProtocol 0
+ bMaxPacketSize0 64
+ idVendor 0x0409 NEC Corp.
+ idProduct 0x02ed
+ bcdDevice 1.00
+ iManufacturer 1 CASIO COMPUTER CO.,LTD.
+ iProduct 2 C771
+ iSerial 3 A1000029000836
+ 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 255 Vendor Specific Protocol
+ iInterface 0
+ 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 0x85 EP 5 IN
+ bmAttributes 3
+ Transfer Type Interrupt
+ Synch Type None
+ Usage Type Data
+ wMaxPacketSize 0x0040 1x 64 bytes
+ bInterval 8
+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: 0x0000
+ (Bus Powered)
+~~~
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1724/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/> \ No newline at end of file
diff --git a/logs/mtp-detect-cat-s41.txt b/logs/mtp-detect-cat-s41.txt
new file mode 100644
index 0000000..c2c025d
--- /dev/null
+++ b/logs/mtp-detect-cat-s41.txt
@@ -0,0 +1,554 @@
+libmtp version: 1.1.13
+
+Listing raw device(s)
+Device 0 (VID=04b7 and PID=88c6) 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):
+ 04b7:88c6 @ 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
+USB low-level info:
+ bcdUSB: 528
+ bDeviceClass: 0
+ bDeviceSubClass: 0
+ bDeviceProtocol: 0
+ idVendor: 04b7
+ idProduct: 88c6
+ 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: 0x04b7
+ Product: (null)
+ Vendor id: 0x88c6
+ Device flags: 0x18008106
+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 responds to control message 2 with some data.
+Device info:
+ Manufacturer: BullittGroupLimited
+ Model: S41
+ Device version: 1.0
+ Serial number: S411736006292
+ 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
+ 3811: DNG
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc04: Object Size UINT64 data type READ ONLY
+ dc07: Object File Name STRING data type GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc44: Name STRING data type READ ONLY
+ dce0: 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: 0x068a0001
+ StorageType: 0x0004 removable RAM storage
+ FilesystemType: 0x0002 generic hierarchical
+ AccessCapability: 0x0000 read/write
+ MaxCapacity: 15711338496
+ FreeSpaceInBytes: 15577448448
+ FreeSpaceInObjects: 1073741824
+ StorageDescription: SD-Karte von Samsung
+ VolumeIdentifier: (null)
+ StorageID: 0x00010001
+ StorageType: 0x0003 fixed RAM storage
+ FilesystemType: 0x0002 generic hierarchical
+ AccessCapability: 0x0000 read/write
+ MaxCapacity: 24516882432
+ FreeSpaceInBytes: 19623555072
+ FreeSpaceInObjects: 1073741824
+ StorageDescription: Interner gemeinsamer 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 70 of 100 (69%)
+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-coolpad-quattro-801es.txt b/logs/mtp-detect-coolpad-quattro-801es.txt
new file mode 100644
index 0000000..70eefb4
--- /dev/null
+++ b/logs/mtp-detect-coolpad-quattro-801es.txt
@@ -0,0 +1,464 @@
+
+libmtp version: 1.1.13
+
+Listing raw device(s)
+Device 0 (VID=1ebf and PID=7029) 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):
+1ebf:7029 @ bus 3, dev 7
+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: 1ebf
+idProduct: 7029
+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: 0x1ebf
+Product: (null)
+Vendor id: 0x7029
+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: Coolpad
+Model: 801ES
+Device version: 1.0
+Serial number: 52d244ab
+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))
+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: 1682771968
+FreeSpaceInBytes: 1540743168
+FreeSpaceInObjects: 1073741824
+StorageDescription: phone
+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-garmin-forerunner-645-music.txt b/logs/mtp-detect-garmin-forerunner-645-music.txt
new file mode 100644
index 0000000..c5ab719
--- /dev/null
+++ b/logs/mtp-detect-garmin-forerunner-645-music.txt
@@ -0,0 +1,391 @@
+
+
+
+---
+
+** [bugs:#1779] Unknown device Garmin Forerunner 645 Music**
+
+**Status:** open
+**Group:** 1.1.13
+**Created:** Sat Jun 02, 2018 11:22 AM UTC by Anonymous
+**Last Updated:** Sat Jun 02, 2018 11:22 AM UTC
+**Owner:** nobody
+
+
+Got a new device which is unknown by libmtp 1.1.13 (on Debian Sid), so here are the outputs of mtp-detect and lsusb:
+
+$ mtp-detect
+libmtp version: 1.1.13
+
+Listing raw device(s)
+Device 0 (VID=091e and PID=4b48) 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):
+ 091e:4b48 @ bus 1, dev 6
+Attempting to connect device(s)
+USB low-level info:
+ bcdUSB: 512
+ bDeviceClass: 0
+ bDeviceSubClass: 0
+ bDeviceProtocol: 0
+ idVendor: 091e
+ idProduct: 4b48
+ 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: 0x091e
+ Product: (null)
+ Vendor id: 0x4b48
+ 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: Garmin
+ Model: Forerunner 645 Music
+ Device version: 310
+ Serial number: 0000ec919e07
+ Vendor extension ID: 0x00000006
+ Vendor extension description: microsoft.com: 1.0;
+ Detected object size: 64 bits
+ Extensions:
+ microsoft.com: 1.0
+Supported operations:
+ 1003: Close session
+ 100b: Delete object
+ 1001: Get device info
+ 1014: Get device property description
+ 1015: Get device property value
+ 1009: Get object
+ 1007: Get object handles
+ 1008: Get object info
+ 9802: Get object property description
+ 9805: Get object property list
+ 9803: Get object property value
+ 9801: Get object properties supported
+ 101b: Get partial object
+ 1004: Get storage IDs
+ 1005: Get storage info
+ 1019: Move object
+ 1002: Open session
+ 1010: Reset device
+ 100d: Send object
+ 100c: Send object info
+ 1016: Set device property value
+ 9804: Set object property value
+ 9810: Get object references
+ 9811: Set object references
+ 100a: Get thumbnail
+ 9000: Unknown PTP_OC
+ 9001: Unknown PTP_OC
+ 9002: Unknown PTP_OC
+ 9003: Unknown PTP_OC
+ 9004: Unknown PTP_OC
+ 9005: Unknown PTP_OC
+ 9006: Unknown PTP_OC
+Events supported:
+ 0x4002 ((null))
+ 0x4003 ((null))
+ 0x4006 ((null))
+ 0x4004 ((null))
+ 0x4005 ((null))
+Device Properties Supported:
+ 0x5011: Date & Time
+ 0xd402: Friendly Device Name
+ 0xd405: Device Icon
+ 0xd407: Perceived Device Type
+Playable File (Object) Types and Object Properties Supported:
+ 3801: JPEG
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ 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
+ dc07: Object File Name STRING data type GET/SET
+ dc44: Name STRING data type READ ONLY
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, 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 READ ONLY
+ 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
+ dc07: Object File Name STRING data type GET/SET
+ dc44: Name STRING data type READ ONLY
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY
+ dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc46: Artist STRING data type READ ONLY
+ dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc8c: Genre STRING data type READ ONLY
+ dc91: Use Count UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc9a: Album Name STRING data type READ ONLY
+ dc9b: Album Artist STRING data type READ ONLY
+ de93: Sample Rate UINT32 data type range: MIN 1000, MAX 96000, STEP 1 READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 1, 2, READ ONLY
+ de9a: Audio Bit Rate UINT32 data type range: MIN 1024, MAX 819200, STEP 1 READ ONLY
+ de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 10, 80, 85, 146, 255, 353, 354, 355, 356, 5648, 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 READ ONLY
+ 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
+ dc07: Object File Name STRING data type GET/SET
+ dc44: Name STRING data type READ ONLY
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, 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 READ ONLY
+ 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
+ dc07: Object File Name STRING data type GET/SET
+ dc44: Name STRING data type READ ONLY
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY
+ dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc46: Artist STRING data type READ ONLY
+ dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc8c: Genre STRING data type READ ONLY
+ dc91: Use Count UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc9a: Album Name STRING data type READ ONLY
+ dc9b: Album Artist STRING data type READ ONLY
+ de93: Sample Rate UINT32 data type range: MIN 1000, MAX 96000, STEP 1 READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 1, 2, READ ONLY
+ de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 10, 80, 85, 146, 255, 353, 354, 355, 356, 5648, READ ONLY
+ de9a: Audio Bit Rate UINT32 data type range: MIN 1024, MAX 819200, STEP 1 READ ONLY
+ ba11: M3U 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
+ 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
+ dc07: Object File Name STRING data type GET/SET
+ dc44: Name STRING data type READ ONLY
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY
+ dc89: Duration UINT32 data type ANY 32BIT 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 READ ONLY
+ 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
+ dc07: Object File Name STRING data type GET/SET
+ dc44: Name STRING data type READ ONLY
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY
+ dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc91: Use Count UINT32 data type ANY 32BIT VALUE form READ ONLY
+ de93: Sample Rate UINT32 data type range: MIN 1000, MAX 96000, STEP 1 READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 1, 2, READ ONLY
+ de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 10, 80, 85, 146, 255, 353, 354, 355, 356, 5648, READ ONLY
+ de9a: Audio Bit Rate UINT32 data type range: MIN 1024, MAX 819200, STEP 1 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 READ ONLY
+ 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
+ dc07: Object File Name STRING data type GET/SET
+ dc44: Name STRING data type READ ONLY
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY
+ dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc91: Use Count UINT32 data type ANY 32BIT VALUE form READ ONLY
+ de93: Sample Rate UINT32 data type range: MIN 1000, MAX 96000, STEP 1 READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 1, 2, READ ONLY
+ de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 10, 80, 85, 146, 255, 353, 354, 355, 356, 5648, READ ONLY
+ de9a: Audio Bit Rate UINT32 data type range: MIN 1024, MAX 819200, STEP 1 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 READ ONLY
+ 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
+ dc07: Object File Name STRING data type GET/SET
+ dc44: Name STRING data type READ ONLY
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, 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
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ 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
+ dc07: Object File Name STRING data type GET/SET
+ dc44: Name STRING data type READ ONLY
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY
+ 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
+ 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
+ dc07: Object File Name STRING data type GET/SET
+ dc44: Name STRING data type READ ONLY
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, 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
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ 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
+ dc07: Object File Name STRING data type GET/SET
+ dc44: Name STRING data type READ ONLY
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY
+Storage Devices:
+ StorageID: 0x00020001
+ StorageType: 0x0003 fixed RAM storage
+ FilesystemType: 0x0002 generic hierarchical
+ AccessCapability: 0x0000 read/write
+ MaxCapacity: 23859200
+ FreeSpaceInBytes: 21594112
+ FreeSpaceInObjects: 4294967295
+ StorageDescription: Primary
+ VolumeIdentifier: (null)
+ StorageID: 0x00020002
+ StorageType: 0x0003 fixed RAM storage
+ FilesystemType: 0x0002 generic hierarchical
+ AccessCapability: 0x0000 read/write
+ MaxCapacity: 3836837888
+ FreeSpaceInBytes: 1766752256
+ FreeSpaceInObjects: 4294967295
+ 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: Forerunner 645 Music
+ Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+ JPEG file
+ ISO MPEG-1 Audio Layer 3
+ Portable Network Graphics
+ MPEG-4 Part 14 Container Format (Audio+Video Emphasis)
+ Advanced Audio Coding (AAC)/MPEG-2 Part 7/MPEG-4 Part 3
+ RIFF WAVE file
+ Abstract Playlist file
+ Text file
+ Folder
+OK.
+
+$ lsusb -vd 091e:4b48
+
+Bus 001 Device 006: ID 091e:4b48 Garmin International
+Device Descriptor:
+ bLength 18
+ bDescriptorType 1
+ bcdUSB 2.00
+ bDeviceClass 0 (Defined at Interface level)
+ bDeviceSubClass 0
+ bDeviceProtocol 0
+ bMaxPacketSize0 64
+ idVendor 0x091e Garmin International
+ idProduct 0x4b48
+ bcdDevice 0.01
+ iManufacturer 0
+ iProduct 0
+ iSerial 5 0000ec919e07
+ 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 6 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 0x82 EP 2 IN
+ bmAttributes 3
+ Transfer Type Interrupt
+ Synch Type None
+ Usage Type Data
+ wMaxPacketSize 0x0040 1x 64 bytes
+ bInterval 1
+ 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
+Device Status: 0x0000
+ (Bus Powered)
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1779/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/> \ No newline at end of file
diff --git a/logs/mtp-detect-hisense-a2.txt b/logs/mtp-detect-hisense-a2.txt
new file mode 100644
index 0000000..0219517
--- /dev/null
+++ b/logs/mtp-detect-hisense-a2.txt
@@ -0,0 +1,448 @@
+libmtp version: 1.1.10
+
+Listing raw device(s)
+ Found 1 device(s):
+ 109b:9130 @ bus 1, 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: 109b
+ idProduct: 9130
+ 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: 0x109b
+ Product: (null)
+ Vendor id: 0x9130
+ 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: Hisense
+ Model: Hisense A2
+ Device version: 1.0
+ Serial number: 3552b163
+ 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 dat \ No newline at end of file
diff --git a/logs/mtp-detect-huawei-u29.txt b/logs/mtp-detect-huawei-u29.txt
new file mode 100644
index 0000000..a7ca0f0
--- /dev/null
+++ b/logs/mtp-detect-huawei-u29.txt
@@ -0,0 +1,449 @@
+libmtp version: 1.1.10
+
+Listing raw device(s)
+ Found 1 device(s):
+ 12d1:2608 @ 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: 12d1
+ idProduct: 2608
+ 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: 0x12d1
+ Product: (null)
+ Vendor id: 0x2608
+ 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 CUN-U29
+ Device version: 1.0
+ Serial number: CCMBBBB651631710
+ 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: Da \ No newline at end of file
diff --git a/logs/mtp-detect-huawei-y5-2017.txt b/logs/mtp-detect-huawei-y5-2017.txt
new file mode 100644
index 0000000..f339a40
--- /dev/null
+++ b/logs/mtp-detect-huawei-y5-2017.txt
@@ -0,0 +1,577 @@
+
+
+
+---
+
+** [support-requests:#259] Device 0 (VID=12d1 and PID=107f) is UNKNOWN**
+
+**Status:** open
+**Group:** GIT
+**Labels:** Huawei
+**Created:** Thu Feb 22, 2018 01:57 AM UTC by Somon Litt
+**Last Updated:** Thu Feb 22, 2018 01:57 AM UTC
+**Owner:** nobody
+
+
+Huawei Y5 2017
+Android 6.0
+~~~
+libmtp version: 1.1.14
+
+Listing raw device(s)
+Device 0 (VID=12d1 and PID=107f) is UNKNOWN in libmtp v1.1.14.
+Please report this VID/PID and the device model to the libmtp development team
+ Found 1 device(s):
+ 12d1:107f @ 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: 12d1
+ idProduct: 107f
+ 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: 0x107f
+ 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: MYA-L22
+ Device version: 1.0
+ Serial number: R9KBB17A07154914
+ 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
+ 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: 11286347776
+ FreeSpaceInBytes: 4855365632
+ FreeSpaceInObjects: 1073741824
+ StorageDescription: ВнутреннÑÑ Ð¿Ð°Ð¼ÑÑ‚ÑŒ
+ VolumeIdentifier: (null)
+ StorageID: 0x317c0001
+ StorageType: 0x0004 removable RAM storage
+ FilesystemType: 0x0002 generic hierarchical
+ AccessCapability: 0x0000 read/write
+ MaxCapacity: 1989705728
+ FreeSpaceInBytes: 1988362240
+ FreeSpaceInObjects: 1073741824
+ StorageDescription: SD-карта Toshiba
+ 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 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)
+ BMP bitmap file
+OK.
+
+~~~
+
+
+At GIT version is too unsupported, see https://sourceforge.net/p/libmtp/code/ci/HEAD/tree/src/music-players.h#l2901
+
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/support-requests/259/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/> \ No newline at end of file
diff --git a/logs/mtp-detect-lemobile-le2.txt b/logs/mtp-detect-lemobile-le2.txt
new file mode 100644
index 0000000..83e2586
--- /dev/null
+++ b/logs/mtp-detect-lemobile-le2.txt
@@ -0,0 +1,1017 @@
+The following submission requires approval at https://sourceforge.net/p/libmtp/bugs/_discuss/moderate before it can be approved for posting:
+
+Device info:
+ Manufacturer: LeMobile
+ Model: Le 2
+ Device version: 1.0
+ Serial number: c3809a11
+ 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))
+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: 25226477568
+ FreeSpaceInBytes: 3339157504
+ 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 51 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.
+daniil@daniil-InPlat:~$ mtp-detect
+libmtp version: 1.1.13
+
+Listing raw device(s)
+Device 0 (VID=2b0e and PID=1714) 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):
+ 2b0e:1714 @ bus 3, dev 20
+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: 2b0e
+ idProduct: 1714
+ IN endpoint maxpacket: 512 bytes
+ OUT endpoint maxpacket: 512 bytes
+ Raw device info:
+ Bus location: 3
+ Device number: 20
+ Device entry info:
+ Vendor: (null)
+ Vendor id: 0x2b0e
+ Product: (null)
+ Vendor id: 0x1714
+ 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: LeMobile
+ Model: Le 2
+ Device version: 1.0
+ Serial number: c3809a11
+ 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))
+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: 25226477568
+ FreeSpaceInBytes: 3339108352
+ 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 51 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)
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1805/>
+
+
+
+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-vibe-shot-z90a40.txt b/logs/mtp-detect-lenovo-vibe-shot-z90a40.txt
new file mode 100644
index 0000000..9746471
--- /dev/null
+++ b/logs/mtp-detect-lenovo-vibe-shot-z90a40.txt
@@ -0,0 +1,534 @@
+the result of mpt-detect
+libmtp version: 1.1.13
+
+Listing raw device(s)
+Device 0 (VID=17ef and PID=78a7) 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):
+ 17ef:78a7 @ bus 2, dev 3
+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: 17ef
+ idProduct: 78a7
+ 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: 0x78a7
+ 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 Shot
+ Device version: 1.0
+ Serial number: 36c9cabf
+ 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))
+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 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.
+
+
+
+---
+
+** [support-requests:#264] Lenovo Vibe Shot Z90a40 is unknown**
+
+**Status:** open
+**Group:** unknown release
+**Created:** Sun Apr 29, 2018 08:28 PM UTC by Anonymous
+**Last Updated:** Mon Apr 30, 2018 02:44 PM UTC
+**Owner:** nobody
+
+
+I got this " Device 0 (VID=17ef and PID=78a7) is UNKNOWN in libmtp v1.1.13.". My phone is Lenovo Vibe Shot Z90a40.
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/support-requests/264/>
+
+
+
+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-lemax2.txt b/logs/mtp-detect-letv-lemax2.txt
new file mode 100644
index 0000000..a88909f
--- /dev/null
+++ b/logs/mtp-detect-letv-lemax2.txt
@@ -0,0 +1,520 @@
+osmc@osmc:~$ sudo mtp-detect
+Unable to open ~/.mtpz-data for reading, MTPZ disabled.
+libmtp version: 1.1.8
+
+Listing raw device(s)
+Device 0 (VID=2b0e and PID=1840) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+ Found 1 device(s):
+ 2b0e:1840 @ 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: 2b0e
+ idProduct: 1840
+ 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: 0x2b0e
+ Product: (null)
+ Vendor id: 0x1840
+ 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: LeMobile
+ Model: Le Max2
+ Device version: 1.0
+ Serial number: c99ce694
+ 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: 57090805760
+ FreeSpaceInBytes: 29780447232
+ FreeSpaceInObjects: 1073741824
+ StorageDescription: Memoria interna
+ VolumeIdentifier: (null)
+Special directories:
+ Default music folder: 0x00000001
+ Default playlist folder: 0xffffffff
+ Default picture folder: 0x00000006
+ Default video folder: 0x00002546
+ 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 22 of 100 (21%)
+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-lge-vs990.txt b/logs/mtp-detect-lge-vs990.txt
new file mode 100644
index 0000000..78935e8
--- /dev/null
+++ b/logs/mtp-detect-lge-vs990.txt
@@ -0,0 +1,586 @@
+~ > lsusb
+Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
+Bus 001 Device 004: ID 8087:0a2a Intel Corp.
+Bus 001 Device 003: ID 046d:c408 Logitech, Inc. Marble Mouse (4-button)
+Bus 001 Device 002: ID 04f2:b450 Chicony Electronics Co., Ltd
+Bus 001 Device 007: ID 1004:62ce LG Electronics, Inc.
+Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
+==============
+
+~ > 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=62ce) is UNKNOWN.
+Please report this VID/PID and the device model to the libmtp development team
+ Found 1 device(s):
+ 1004:62ce @ 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: 1004
+ idProduct: 62ce
+ 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: 0x62ce
+ 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: VS990
+ Device version: 1.0
+ Serial number: VS9900e154748
+ 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: 56106594304
+ FreeSpaceInBytes: 48161349632
+ 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 38 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
+ 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-mediatek-5508duo.txt b/logs/mtp-detect-mediatek-5508duo.txt
new file mode 100644
index 0000000..5d4131c
--- /dev/null
+++ b/logs/mtp-detect-mediatek-5508duo.txt
@@ -0,0 +1,520 @@
+
+
+
+---
+
+** [support-requests:#260] Device 0 (VID=29e4 and PID=1201) is UNKNOWN in libmtp v1.1.13**
+
+**Status:** open
+**Group:** 1.1.13
+**Created:** Sun Feb 25, 2018 10:55 AM UTC by Anonymous
+**Last Updated:** Sun Feb 25, 2018 10:55 AM UTC
+**Owner:** nobody
+
+
+Hi,
+I was able to mount the device and to browse folders too although the speed was extremely slow. Now I'm trying to copy a lot of files.
+The Phone is:
+~~~
+dmesg
+[ 4499.402293] usb 2-5: new high-speed USB device number 13 using ehci-pci
+[ 4499.551213] usb 2-5: New USB device found, idVendor=29e4, idProduct=1201
+[ 4499.551218] usb 2-5: New USB device strings: Mfr=2, Product=3, SerialNumber=4
+[ 4499.551221] usb 2-5: Product: PSP5508DUO
+[ 4499.551224] usb 2-5: Manufacturer: MediaTek
+[ 4499.551227] usb 2-5: SerialNumber: MTP32744301478
+
+~~~
+My system is debian *stretch*
+Linux zmey 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u2 (2018-02-21) x86_64 GNU/Linux
+standart instalation. Here is the code from mtp-detect:
+~~~
+root@zmey:/home/chiche# mtp-detect
+libmtp version: 1.1.13
+
+Listing raw device(s)
+Device 0 (VID=29e4 and PID=1201) 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):
+ 29e4:1201 @ bus 2, 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: 29e4
+ idProduct: 1201
+ IN endpoint maxpacket: 512 bytes
+ OUT endpoint maxpacket: 512 bytes
+ Raw device info:
+ Bus location: 2
+ Device number: 12
+ Device entry info:
+ Vendor: (null)
+ Vendor id: 0x29e4
+ Product: (null)
+ Vendor id: 0x1201
+ 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: PSP5508DUO
+ Device version: 1.0
+ Serial number: MTP32744301478
+ 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))
+ 0x4007 ((null))
+ 0x400c ((null))
+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: 13637107712
+ FreeSpaceInBytes: 5475430400
+ 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: PSP5508DUO
+ Synchronization partner: PSP5508DUO
+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.
+~~~
+Have a nice day
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/support-requests/260/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/> \ No newline at end of file
diff --git a/logs/mtp-detect-medion-tablet-p10606.log b/logs/mtp-detect-medion-tablet-p10606.log
new file mode 100644
index 0000000..4a32469
--- /dev/null
+++ b/logs/mtp-detect-medion-tablet-p10606.log
@@ -0,0 +1,519 @@
+libmtp version: 1.1.15
+
+Listing raw device(s)
+ Found 1 device(s):
+ 17ef:f003 @ bus 8, dev 31
+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: f003
+ IN endpoint maxpacket: 512 bytes
+ OUT endpoint maxpacket: 512 bytes
+ Raw device info:
+ Bus location: 8
+ Device number: 31
+ Device entry info:
+ Vendor: (null)
+ Vendor id: 0x17ef
+ 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: LENOVO
+ Model: P1060X
+ Device version: 1.0
+ Serial number: ATA6T332D2D6
+ 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))
+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
+ 3811: DNG
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc04: Object Size UINT64 data type READ ONLY
+ dc07: Object File Name STRING data type GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc44: Name STRING data type READ ONLY
+ dce0: 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 42 of 100 (41%)
+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-niteto-adf-drive.txt b/logs/mtp-detect-niteto-adf-drive.txt
new file mode 100644
index 0000000..f7fa8df
--- /dev/null
+++ b/logs/mtp-detect-niteto-adf-drive.txt
@@ -0,0 +1,110 @@
+
+
+
+---
+
+** [bugs:#1786] Unknown device ADF-Drive**
+
+**Status:** open
+**Group:** unknown release (please set)
+**Created:** Sun Jul 15, 2018 01:33 PM UTC by Anonymous
+**Last Updated:** Sun Jul 15, 2018 01:33 PM UTC
+**Owner:** nobody
+
+
+Listing raw device(s)
+Device 0 (VID=16c0 and PID=0489) is UNKNOWN in libmtp v1.1.15.
+Please report this VID/PID and the device model to the libmtp development team
+ Found 1 device(s):
+ 16c0:0489 @ bus 2, dev 22
+Attempting to connect device(s)
+Error 2: PTP Layer error 2002: LIBMTP_Get_Storage(): Could not get storage info.
+Error 2: Error 2002: PTP General Error
+Error 1: Get Storage information failed.
+USB low-level info:
+ bcdUSB: 257
+ bDeviceClass: 0
+ bDeviceSubClass: 0
+ bDeviceProtocol: 0
+ idVendor: 16c0
+ idProduct: 0489
+ IN endpoint maxpacket: 64 bytes
+ OUT endpoint maxpacket: 64 bytes
+ Raw device info:
+ Bus location: 2
+ Device number: 22
+ Device entry info:
+ Vendor: (null)
+ Vendor id: 0x16c0
+ Product: (null)
+ Vendor id: 0x0489
+ Device flags: 0x00000000
+Configuration 0, interface 2, altsetting 0:
+ Interface description contains the string "MTP"
+ Device recognized as MTP, no further probing.
+Device info:
+ Manufacturer: Niteto
+ Model: ADF-Drive
+ Device version: v0.625
+ Serial number: 18:46:21 Oct 1 2017
+ Vendor extension ID: 0x00000006
+ Vendor extension description: microsoft.com: 1.0;
+ Detected object size: 32 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
+ 100a: Get thumbnail
+ 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
+Events supported:
+ 0x4002: ObjectAdded
+ 0x4003: ObjectRemoved
+ 0x4004: StoreAdded
+ 0x4005: StoreRemoved
+ 0x4007: ObjectInfoChanged
+ 0x400b: DeviceReset
+ 0x400c: StorageInfoChanged
+ 0x400e: UnreportedStatus
+Device Properties Supported:
+ 0x5001: Battery Level
+ 0x5011: Date & Time
+ 0xd402: Friendly Device Name
+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: ADF-Drive
+ Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+ Folder
+OK.
+
+
+
+---
+
+Sent from sourceforge.net because you indicated interest in <https://sourceforge.net/p/libmtp/bugs/1786/>
+
+
+
+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-6.txt b/logs/mtp-detect-nokia-6.txt
new file mode 100644
index 0000000..82c5d00
--- /dev/null
+++ b/logs/mtp-detect-nokia-6.txt
@@ -0,0 +1,538 @@
+libmtp version: 1.1.13
+
+Listing raw device(s)
+Found 1 device(s):
+2e04:c025 @ 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: 2e04
+idProduct: c025
+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: 0x2e04
+Product: (null)
+Vendor id: 0xc025
+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: HMD Global
+Model: Nokia 6
+Device version: 1.0
+Serial number: D1TGAP9741909591
+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))
+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
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: 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
+3811: DNG
+dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+dc04: Object Size UINT64 data type READ ONLY
+dc07: Object File Name STRING data type GET/SET
+dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+dc44: Name STRING data type READ ONLY
+dce0: 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: 0x2af90001
+StorageType: 0x0004 removable RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 31431753728
+FreeSpaceInBytes: 22205726720
+FreeSpaceInObjects: 1073741824
+StorageDescription: SD card
+VolumeIdentifier: (null)
+StorageID: 0x00010001
+StorageType: 0x0003 fixed RAM storage
+FilesystemType: 0x0002 generic hierarchical
+AccessCapability: 0x0000 read/write
+MaxCapacity: 55476391936
+FreeSpaceInBytes: 50904928256
+FreeSpaceInObjects: 1073741824
+StorageDescription: Internal shared 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 66 of 100 (66%)
+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-lumia-1520.txt b/logs/mtp-detect-nokia-lumia-1520.txt
new file mode 100644
index 0000000..eadb151
--- /dev/null
+++ b/logs/mtp-detect-nokia-lumia-1520.txt
@@ -0,0 +1,844 @@
+libmtp version: 1.1.13
+
+Listing raw device(s)
+Device 0 (VID=0421 and PID=0661) is a Nokia Lumia WP8.
+ Found 1 device(s):
+ Nokia: Lumia WP8 (0421:0661) @ bus 1, dev 65
+Attempting to connect device(s)
+USB low-level info:
+ 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: 1
+ Device number: 65
+ Device entry info:
+ Vendor: Nokia
+ Vendor id: 0x0421
+ Product: Lumia WP8
+ Vendor id: 0x0661
+ Device flags: 0x00000000
+Device info:
+ Manufacturer: NOKIA
+ Model: Lumia 1520
+ Device version: 10.0.14393.0
+ Serial number: e03536aa5f80a3f172cfabcdef4aa00a
+ 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 PTP_OC
+ 9234: Unknown PTP_OC
+ 9301: Unknown PTP_OC
+ 9302: Unknown PTP_OC
+ 9303: Unknown PTP_OC
+ 9304: Unknown PTP_OC
+ 9305: Unknown PTP_OC
+ 930a: Unknown PTP_OC
+ 9401: Unknown PTP_OC
+ 9402: Unknown PTP_OC
+ 9403: Unknown PTP_OC
+ 9404: Unknown PTP_OC
+ 9405: Unknown PTP_OC
+ 9406: Unknown PTP_OC
+ 9407: Unknown PTP_OC
+ 9410: Unknown PTP_OC
+ 9411: Unknown PTP_OC
+ 9412: Unknown PTP_OC
+ 9413: Unknown PTP_OC
+ 9414: Unknown PTP_OC
+ 9415: Unknown PTP_OC
+ 9416: Unknown PTP_OC
+ 9417: Unknown PTP_OC
+ 9801: 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:
+ 0x4002 ((null))
+ 0x4003 ((null))
+ 0x4004 ((null))
+ 0x4005 ((null))
+ 0x400c ((null))
+ 0xc301 ((null))
+ 0xc303 ((null))
+ 0xc304 ((null))
+ 0xc801 ((null))
+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 3840, STEP 2 GET/SET
+ dc88: Height UINT32 data type range: MIN 64, MAX 2160, 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 120000000, STEP 1 GET/SET
+ de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, 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 3840, STEP 2 GET/SET
+ dc88: Height UINT32 data type range: MIN 64, MAX 2160, 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 120000000, STEP 1 GET/SET
+ de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, 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 3840, STEP 2 GET/SET
+ dc88: Height UINT32 data type range: MIN 64, MAX 2160, 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, 8, 9, 10, 12, 13, 14, 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: -529694676, 1935764850, -1476687953, 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 120000000, STEP 1 GET/SET
+ de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, 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 3840, STEP 2 GET/SET
+ dc88: Height UINT32 data type range: MIN 64, MAX 2160, 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 120000000, STEP 1 GET/SET
+ de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, 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 3840, STEP 2 GET/SET
+ dc88: Height UINT32 data type range: MIN 64, MAX 2160, 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 120000000, STEP 1 GET/SET
+ de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, 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 3840, STEP 2 GET/SET
+ dc88: Height UINT32 data type range: MIN 64, MAX 2160, 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 120000000, STEP 1 GET/SET
+ de9d: Frames Per Thousand Seconds UINT32 data type range: MIN 0, MAX 60000, 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: 31268536320
+ FreeSpaceInBytes: 11173838848
+ FreeSpaceInObjects: 0
+ StorageDescription: Phone
+ VolumeIdentifier: MTP Volume - 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: Clac-WindowsPhone
+ Synchronization partner: a4facc07-7836-4f3f-be7c-f8c3fd54fc26
+ Battery level 97 of 100 (97%)
+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-op-innovations-xdp-100r.txt b/logs/mtp-detect-op-innovations-xdp-100r.txt
new file mode 100644
index 0000000..3cfe932
--- /dev/null
+++ b/logs/mtp-detect-op-innovations-xdp-100r.txt
@@ -0,0 +1,124 @@
+The following submission requires approval at https://sourceforge.net/p/libmtp/bugs/_discuss/moderate before it can be approved for posting:
+
+libmtp version: 1.1.10
+
+Listing raw device(s)
+Device 0 (VID=0746 and PID=a003) 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):
+ 0746:a003 @ bus 2, dev 7
+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: 0746
+ idProduct: a003
+ 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: 0x0746
+ Product: (null)
+ Vendor id: 0xa003
+ 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: O&P Innovations
+ Model: XDP-100R
+ Device version: 1.0
+ Serial number: QCCI000909EA
+ 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
+
+...
+
+MTP-specific device properties:
+ Friendly name: (NULL)
+ 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
+ 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/1764/>
+
+
+
+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-a2.txt b/logs/mtp-detect-sony-xperia-a2.txt
new file mode 100644
index 0000000..eb0894a
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-a2.txt
@@ -0,0 +1,632 @@
+libmtp version: 1.1.13
+
+Listing raw device(s)
+Device 0 (VID=0fce and PID=01f7) 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):
+ 0fce:01f7 @ bus 2, dev 9
+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: 0fce
+ idProduct: 01f7
+ 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: 0x01f7
+ 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: H4113
+ Device version: 1.0
+ Serial number: CQ3000MV9W
+ 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
+ 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
+ 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 PTP_OC
+ 9302: Unknown PTP_OC
+ 9303: Unknown PTP_OC
+ 9304: Unknown PTP_OC
+ 9305: Unknown PTP_OC
+ 9306: Unknown PTP_OC
+ 9307: Unknown PTP_OC
+ 9308: Unknown PTP_OC
+ 9309: Unknown PTP_OC
+ 930a: Unknown PTP_OC
+ 9120: Unknown PTP_OC
+ 9170: Open Media Session
+ 9171: Close Media Session
+ 9175: Unknown PTP_OC
+ 9185: Get WMDRM-ND License Response
+ 9186: Unknown PTP_OC
+ 9187: Unknown PTP_OC
+ 9188: Unknown PTP_OC
+ 9189: Unknown PTP_OC
+ 9191: Unknown PTP_OC
+ 9194: Unknown PTP_OC
+ 9196: Unknown PTP_OC
+ 9197: Unknown PTP_OC
+Events supported:
+ 0x4002 ((null))
+ 0x4003 ((null))
+ 0x4004 ((null))
+ 0x4005 ((null))
+ 0x4006 ((null))
+ 0xc340 ((null))
+ 0xc350 ((null))
+ 0xc35a ((null))
+ 0xc360 ((null))
+Device Properties Supported:
+ 0xd401: Synchronization Partner
+ 0xd402: Friendly Device Name
+ 0xd405: Device Icon
+ 0x5003: Image Size
+ 0x5001: Battery Level
+ 0xd407: Perceived Device Type
+ 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, 1446269005, 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, 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
+ 3811: DNG
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+ dc04: Object Size UINT64 data type READ ONLY
+ dc07: Object File Name STRING data type GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc44: Name STRING data type GET/SET
+ dce0: Display Name STRING data 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 ANY 32BIT VALUE form READ ONLY
+ dc88: Height UINT32 data type ANY 32BIT 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: Xperia XA2
+ 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-x.log b/logs/mtp-detect-sony-xperia-x.log
new file mode 100644
index 0000000..0a116c7
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-x.log
@@ -0,0 +1,621 @@
+libmtp version: 1.1.13
+
+Listing raw device(s)
+ Found 1 device(s):
+ 0fce:01e0 @ bus 2, dev 42
+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: 01e0
+ IN endpoint maxpacket: 512 bytes
+ OUT endpoint maxpacket: 512 bytes
+ Raw device info:
+ Bus location: 2
+ Device number: 42
+ Device entry info:
+ Vendor: (null)
+ Vendor id: 0x0fce
+ Product: (null)
+ Vendor id: 0x01e0
+ 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: F5121
+ Device version: 1.0
+ Serial number: BH903Z9656
+ 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: Get Partial Object (64bit Offset)
+ 95c2: Send Partial Object
+ 95c3: Truncate Object
+ 95c4: Begin Edit Object
+ 95c5: End Edit Object
+ 9170: Open Media Session
+ 9171: Close Media Session
+ 9185: Get WMDRM-ND License Response
+ 9186: Unknown PTP_OC
+ 9187: Unknown PTP_OC
+ 9188: Unknown PTP_OC
+ 9189: Unknown PTP_OC
+ 9191: Unknown PTP_OC
+ 9194: Unknown PTP_OC
+ 9196: Unknown PTP_OC
+ 9197: Unknown PTP_OC
+Events supported:
+ 0x4002 ((null))
+ 0x4003 ((null))
+ 0x4004 ((null))
+ 0x4005 ((null))
+ 0x4006 ((null))
+ 0xc340 ((null))
+ 0xc350 ((null))
+ 0xc35a ((null))
+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, 255, 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 60000, 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
+ 3811: DNG
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+ dc04: Object Size UINT64 data type READ ONLY
+ dc07: Object File Name STRING data type GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc44: Name STRING data type GET/SET
+ dce0: Display Name STRING data 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 ANY 32BIT VALUE form READ ONLY
+ dc88: Height UINT32 data type ANY 32BIT VALUE form READ ONLY
+Storage Devices:
+ StorageID: 0x00010001
+ StorageType: 0x0003 fixed RAM storage
+ FilesystemType: 0x0002 generic hierarchical
+ AccessCapability: 0x0000 read/write
+ MaxCapacity: 21742424064
+ FreeSpaceInBytes: 12564869120
+ FreeSpaceInObjects: 1073741824
+ StorageDescription: Wewn. pamięć współdzielona
+ 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
+ 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.
diff --git a/logs/mtp-detect-sony-xperia-xz.txt b/logs/mtp-detect-sony-xperia-xz.txt
new file mode 100644
index 0000000..a185e37
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-xz.txt
@@ -0,0 +1,613 @@
+libmtp version: 1.1.13
+
+Listing raw device(s)
+ Found 1 device(s):
+ 0fce:01ed @ bus 1, 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: 0fce
+ idProduct: 01ed
+ 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: 0x0fce
+ Product: (null)
+ Vendor id: 0x01ed
+ 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: G8231
+ Device version: 1.0
+ Serial number: BH9008C074
+ 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
+ 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
+ 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
+ 9170: Open Media Session
+ 9171: Close Media Session
+ 9185: Get WMDRM-ND License Response
+ 9186: Unknown PTP_OC
+ 9187: Unknown PTP_OC
+ 9188: Unknown PTP_OC
+ 9189: Unknown PTP_OC
+ 9191: Unknown PTP_OC
+ 9194: Unknown PTP_OC
+ 9196: Unknown PTP_OC
+ 9197: Unknown PTP_OC
+Events supported:
+ 0x4002 ((null))
+ 0x4003 ((null))
+ 0x4004 ((null))
+ 0x4005 ((null))
+ 0x4006 ((null))
+ 0xc340 ((null))
+ 0xc350 ((null))
+ 0xc35a ((null))
+Device Properties Supported:
+ 0xd401: Synchronization Partner
+ 0xd402: Friendly Device Name
+ 0xd405: Device Icon
+ 0x5003: Image Size
+ 0x5001: Battery Level
+ 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
+ dc07: Object File Name STRING data type GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc44: Name STRING data type GET/SET
+ dce0: Display Name STRING data 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, 255, 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, 1446269005, 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 60000, 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
+ 3811: DNG
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+ dc04: Object Size UINT64 data type READ ONLY
+ dc07: Object File Name STRING data type GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc44: Name STRING data type GET/SET
+ dce0: Display Name STRING data 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 ANY 32BIT VALUE form READ ONLY
+ dc88: Height UINT32 data type ANY 32BIT 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: Xperia XZs
+ Synchronization partner: (NULL)
+ Battery level 46 of 100 (46%)
+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-xz2.txt b/logs/mtp-detect-sony-xperia-xz2.txt
new file mode 100644
index 0000000..8e922ec
--- /dev/null
+++ b/logs/mtp-detect-sony-xperia-xz2.txt
@@ -0,0 +1,613 @@
+Device 0 (VID=0fce and PID=01fa) is UNKNOWN in libmtp v1.1.13.
+Please report this VID/PID and the device model to the libmtp development team
+Error 1: Get Storage information failed.
+libmtp version: 1.1.13
+
+Listing raw device(s)
+ Found 1 device(s):
+ 0fce:01fa @ bus 8, 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: 0fce
+ idProduct: 01fa
+ IN endpoint maxpacket: 512 bytes
+ OUT endpoint maxpacket: 512 bytes
+ Raw device info:
+ Bus location: 8
+ Device number: 9
+ Device entry info:
+ Vendor: (null)
+ Vendor id: 0x0fce
+ Product: (null)
+ Vendor id: 0x01fa
+ 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: H8266
+ Device version: 1.0
+ Serial number: QV7014R31E
+ 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
+ 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
+ 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
+ 9175: Unknown PTP_OC
+ 9186: Unknown PTP_OC
+ 9187: Unknown PTP_OC
+ 9188: Unknown PTP_OC
+ 9189: Unknown PTP_OC
+ 9191: Unknown PTP_OC
+ 9194: Unknown PTP_OC
+ 9196: Unknown PTP_OC
+ 9197: Unknown PTP_OC
+Events supported:
+ 0x4002 ((null))
+ 0x4003 ((null))
+ 0x4004 ((null))
+ 0x4005 ((null))
+ 0x4006 ((null))
+ 0xc350 ((null))
+ 0xc35a ((null))
+Device Properties Supported:
+ 0xd401: Synchronization Partner
+ 0xd402: Friendly Device Name
+ 0xd405: Device Icon
+ 0x5003: Image Size
+ 0x5001: Battery Level
+ 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
+ dc07: Object File Name STRING data type GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc44: Name STRING data type GET/SET
+ dce0: Display Name STRING data 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, 255, 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, 1446269005, 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 60000, 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
+ 3811: DNG
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY
+ dc04: Object Size UINT64 data type READ ONLY
+ dc07: Object File Name STRING data type GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc44: Name STRING data type GET/SET
+ dce0: Display Name STRING data 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 ANY 32BIT VALUE form READ ONLY
+ dc88: Height UINT32 data type ANY 32BIT 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: Xperia XZ2
+ Synchronization partner: (NULL)
+ Battery level 25 of 100 (25%)
+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-xiaomi-mimax2.txt b/logs/mtp-detect-xiaomi-mimax2.txt
new file mode 100644
index 0000000..9d4c85d
--- /dev/null
+++ b/logs/mtp-detect-xiaomi-mimax2.txt
@@ -0,0 +1,534 @@
+sasha@debian:~$ 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 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: 2717
+ idProduct: ff48
+ 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: 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 MAX 2
+ Device version: 1.0
+ Serial number: 4001e072
+ 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 12288000, STEP 1 READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9, READ ONLY
+ de93: Sample Rate UINT32 data type range: MIN 8000, MAX 192000, 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 12288000, STEP 1 READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9, READ ONLY
+ de93: Sample Rate UINT32 data type range: MIN 8000, MAX 192000, 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 12288000, STEP 1 READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9, READ ONLY
+ de93: Sample Rate UINT32 data type range: MIN 8000, MAX 192000, 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 12288000, STEP 1 READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9, READ ONLY
+ de93: Sample Rate UINT32 data type range: MIN 8000, MAX 192000, 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 12288000, STEP 1 READ ONLY
+ de94: Number Of Channels UINT16 data type enumeration: 1, 2, 3, 4, 5, 6, 7, 8, 9, READ ONLY
+ de93: Sample Rate UINT32 data type range: MIN 8000, MAX 192000, 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
+ 3811: DNG
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc04: Object Size UINT64 data type READ ONLY
+ dc07: Object File Name STRING data type GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc44: Name STRING data type READ ONLY
+ dce0: 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: 55344291840
+ FreeSpaceInBytes: 50831200256
+ 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 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)
+OK.
+
diff --git a/logs/mtp-detect-zuk-z2pro.txt b/logs/mtp-detect-zuk-z2pro.txt
new file mode 100644
index 0000000..7fa5a59
--- /dev/null
+++ b/logs/mtp-detect-zuk-z2pro.txt
@@ -0,0 +1,558 @@
+
+
+
+---
+
+** [support-requests:#250] Please add support for Lenove phone ZUK Z2 Pro**
+
+**Status:** open
+**Group:** unknown release
+**Created:** Sat Aug 19, 2017 05:18 AM UTC by Anonymous
+**Last Updated:** Sat Aug 19, 2017 05:18 AM UTC
+**Owner:** nobody
+
+
+lanbing@LanBing-Ubuntu:~$ mtp-detect
+libmtp version: 1.1.12
+
+Listing raw device(s)
+Device 0 (VID=2b4c and PID=1013) 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:1013 @ 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: 2b4c
+ idProduct: 1013
+ 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: 0x2b4c
+ Product: (null)
+ Vendor id: 0x1013
+ 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 Z2121
+ Device version: 1.0
+ Serial number: 9720e62a
+ 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
+ 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
+ 3811: DNG
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc03: Protection Status UINT16 data type ANY 16BIT VALUE form READ ONLY
+ dc04: Object Size UINT64 data type READ ONLY
+ dc07: Object File Name STRING data type GET/SET
+ dc09: Date Modified STRING data type DATETIME FORM READ ONLY
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
+ dc44: Name STRING data type READ ONLY
+ dce0: 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: 120728854528
+ FreeSpaceInBytes: 81243189248
+ 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 15 of 100 (15%)
+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/250/>
+
+
+
+To unsubscribe from further messages, please visit <https://sourceforge.net/auth/subscriptions/> \ No newline at end of file
diff --git a/src/Makefile.am b/src/Makefile.am
index d00e372..7dc1a1a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -47,8 +47,8 @@ EXTRA_DIST=libmtp.h.in libmtp.sym ptp-pack.c
# increment AGE, Otherwise AGE is reset to 0. If CURRENT has changed,
# REVISION is set to 0, otherwise REVISION is incremented.
# ---------------------------------------------------------------------------
-CURRENT=12
-AGE=3
+CURRENT=13
+AGE=4
REVISION=0
SOVERSION=$(CURRENT):$(REVISION):$(AGE)
LT_CURRENT_MINUS_AGE=`expr $(CURRENT) - $(AGE)`
diff --git a/src/chdk_live_view.h b/src/chdk_live_view.h
index 8c20669..b41126c 100644
--- a/src/chdk_live_view.h
+++ b/src/chdk_live_view.h
@@ -16,16 +16,19 @@ Protocol notes:
- 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
+- New enum values (e.g. aspect ratio, framebuffer type, palette type) may be added in minor
+ versions.
*/
// 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
+#define LIVE_VIEW_VERSION_MINOR 2 // 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
+2.2 - in development digic 6 support. Added LV_ASPECT_3_2, LV_FB_YUV8B and LV_FB_YUV8C formats
*/
@@ -33,10 +36,13 @@ protocol version history
#define LV_TFR_VIEWPORT 0x01
#define LV_TFR_BITMAP 0x04
#define LV_TFR_PALETTE 0x08
+#define LV_TFR_BITMAP_OPACITY 0x10
enum lv_aspect_rato {
LV_ASPECT_4_3,
LV_ASPECT_16_9,
+ // below added in 2.2
+ LV_ASPECT_3_2,
};
/*
@@ -46,6 +52,10 @@ 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
+ // below added in 2.2
+ LV_FB_YUV8B,// 8 bit per element UYVY, used for live view and overlay on Digic 6
+ LV_FB_YUV8C,// 8 bit per element UYVY, used for alternate Digic 6 live view
+ LV_FB_OPACITY8,// 8 bit opacity / alpha buffer
};
/*
@@ -94,6 +104,7 @@ typedef struct {
// framebuffer descriptions are given as offsets, to allow expanding the structures in minor protocol changes
int vp_desc_start;
int bm_desc_start;
+ int bmo_desc_start; // added in protocol 2.2
} lv_data_header;
#endif // __LIVE_VIEW_H
diff --git a/src/chdk_ptp.h b/src/chdk_ptp.h
index 068be02..65dcfd7 100644
--- a/src/chdk_ptp.h
+++ b/src/chdk_ptp.h
@@ -122,83 +122,435 @@ enum ptp_chdk_script_data_type {
/* 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\
+ 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\
+ 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\
+ 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"
+
+#define PTP_CHDK_LUA_SERIALIZE_SIMPLEQUOTE "\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"
+
+#define PTP_CHDK_LUA_SERIALIZE_MSGS \
+PTP_CHDK_LUA_SERIALIZE\
+"usb_msg_table_to_string=serialize\n"
+
+#define PTP_CHDK_LUA_SERIALIZE_MSGS_SIMPLEQUOTE \
+PTP_CHDK_LUA_SERIALIZE_SIMPLEQUOTE\
+"usb_msg_table_to_string=serialize\n"
+
+#define PTP_CHDK_LUA_EXTEND_TABLE \
+"function extend_table(target,source,deep)\n\
+ if type(target) ~= 'table' then\n\
+ error('extend_table: target not table')\n\
+ end\n\
+ if source == nil then\n\
+ return target\n\
+ end\n\
+ if type(source) ~= 'table' then \n\
+ error('extend_table: source not table')\n\
+ end\n\
+ if source == target then\n\
+ error('extend_table: source == target')\n\
+ end\n\
+ if deep then\n\
+ return extend_table_r(target, source)\n\
+ else \n\
+ for k,v in pairs(source) do\n\
+ target[k]=v\n\
+ end\n\
+ return target\n\
+ end\n\
+end\n"
+
+#define PTP_CHDK_LUA_MSG_BATCHER \
+PTP_CHDK_LUA_SERIALIZE_MSGS \
+PTP_CHDK_LUA_EXTEND_TABLE \
+"function msg_batcher(opts)\n\
+ local t = extend_table({\n\
+ batchsize=50,\n\
+ batchgc='step',\n\
+ timeout=100000,\n\
+ },opts)\n\
+ t.data={}\n\
+ t.n=0\n\
+ if t.dbgmem then\n\
+ t.init_free = get_meminfo().free_block_max_size\n\
+ t.init_count = collectgarbage('count')\n\
+ end\n\
+ t.write=function(self,val)\n\
+ self.n = self.n+1\n\
+ self.data[self.n]=val\n\
+ if self.n >= self.batchsize then\n\
+ return self:flush()\n\
+ end\n\
+ return true\n\
+ end\n\
+ t.flush = function(self)\n\
+ if self.n > 0 then\n\
+ if self.dbgmem then\n\
+ local count=collectgarbage('count')\n\
+ local free=get_meminfo().free_block_max_size\n\
+ self.data._dbg=string.format(\"count %%d (%%d) free %%d (%%d)\",\n\
+ count, count - self.init_count, free, self.init_free-free)\n\
+ end\n\
+ if not write_usb_msg(self.data,self.timeout) then\n\
+ return false\n\
+ end\n\
+ self.data={}\n\
+ self.n=0\n\
+ if self.batchgc then\n\
+ collectgarbage(self.batchgc)\n\
+ end\n\
+ if self.batchpause then\n\
+ sleep(self.batchpause)\n\
+ end\n\
+ end\n\
+ return true\n\
+ end\n\
+ return t\n\
+end\n"
+
+#define PTP_CHDK_LUA_LS_SIMPLE \
+PTP_CHDK_LUA_MSG_BATCHER \
+"function ls_simple(path)\n\
+ local b=msg_batcher()\n\
+ local t,err=os.listdir(path)\n\
+ if not t then\n\
+ return false,err\n\
+ end\n\
+ for i,v in ipairs(t) do\n\
+ if not b:write(v) then\n\
+ return false\n\
+ end\n\
+ end\n\
+ return b:flush()\n\
+end\n"
+
+#define PTP_CHDK_LUA_JOINPATH \
+"function joinpath(...)\n\
+ local parts={...}\n\
+ if #parts < 2 then\n\
+ error('joinpath requires at least 2 parts',2)\n\
+ end\n\
+ local r=parts[1]\n\
+ for i = 2, #parts do\n\
+ local v = string.gsub(parts[i],'^/','')\n\
+ if not string.match(r,'/$') then\n\
+ r=r..'/'\n\
+ end\n\
+ r=r..v\n\
+ end\n\
+ return r\n\
+end\n"
+
+#define PTP_CHDK_LUA_LS \
+PTP_CHDK_LUA_MSG_BATCHER \
+PTP_CHDK_LUA_JOINPATH \
+"function ls_single(opts,b,path,v)\n\
+ if not opts.match or string.match(v,opts.match) then\n\
+ if opts.stat then\n\
+ local st,msg=os.stat(joinpath(path,v))\n\
+ if not st then\n\
+ return false,msg\n\
+ end\n\
+ if opts.stat == '/' then\n\
+ if st.is_dir then\n\
+ b:write(v .. '/')\n\
+ else\n\
+ b:write(v)\n\
+ end\n\
+ elseif opts.stat == '*' then\n\
+ st.name=v\n\
+ b:write(st)\n\
+ end\n\
+ else\n\
+ b:write(v)\n\
+ end\n\
+ end\n\
+ return true\n\
end\n\
\n\
-usb_msg_table_to_string=serialize\n"
+function ls(path,opts_in)\n\
+ local opts={\n\
+ msglimit=50,\n\
+ msgtimeout=100000,\n\
+ dirsonly=true\n\
+ }\n\
+ if opts_in then\n\
+ for k,v in pairs(opts_in) do\n\
+ opts[k]=v\n\
+ end\n\
+ end\n\
+ local st, err = os.stat(path)\n\
+ if not st then\n\
+ return false, err\n\
+ end\n\
+ \n\
+ local b=msg_batcher{\n\
+ batchsize=opts.msglimit,\n\
+ timeout=opts.msgtimeout\n\
+ }\n\
+ \n\
+ if not st.is_dir then\n\
+ if opts.dirsonly then\n\
+ return false, 'not a directory'\n\
+ end\n\
+ if opts.stat == '*' then\n\
+ st.name=path\n\
+ b:write(st)\n\
+ else\n\
+ b:write(path)\n\
+ end\n\
+ b:flush()\n\
+ return true\n\
+ end\n\
+ \n\
+ if os.idir then\n\
+ for v in os.idir(path,opts.listall) do\n\
+ local status,err=ls_single(opts,b,path,v)\n\
+ if not status then\n\
+ return false, err\n\
+ end\n\
+ end\n\
+ else\n\
+ local t,msg=os.listdir(path,opts.listall)\n\
+ if not t then\n\
+ return false,msg\n\
+ end\n\
+ for i,v in ipairs(t) do\n\
+ local status,err=ls_single(opts,b,path,v)\n\
+ if not status then\n\
+ return false, err\n\
+ end\n\
+ end\n\
+ end\n\
+ b:flush()\n\
+ return true\n\
+end\n"
+
+#define PTP_CHDK_LUA_RLIB_SHOOT_COMMON \
+"function rlib_shoot_init_exp(opts) \n\
+ if opts.tv then\n\
+ set_tv96_direct(opts.tv)\n\
+ end\n\
+ if opts.sv then\n\
+ set_sv96(opts.sv)\n\
+ end\n\
+ if opts.svm then\n\
+ if type(sv96_market_to_real) ~= 'function' then\n\
+ error('svm not supported')\n\
+ end\n\
+ set_sv96(sv96_market_to_real(opts.svm))\n\
+ end\n\
+ if opts.isomode then\n\
+ set_iso_mode(opts.isomode)\n\
+ end\n\
+ if opts.av then\n\
+ set_av96_direct(opts.av)\n\
+ end\n\
+ if opts.nd then\n\
+ set_nd_filter(opts.nd)\n\
+ end\n\
+ if opts.sd then\n\
+ set_focus(opts.sd)\n\
+ end\n\
+end\n"
+
+#define PTP_CHDK_LUA_RLIB_SHOOT \
+PTP_CHDK_LUA_RLIB_SHOOT_COMMON \
+"function rlib_shoot(opts)\n\
+ local rec,vid = get_mode()\n\
+ if not rec then\n\
+ return false,'not in rec mode'\n\
+ end\n\
+\n\
+ rlib_shoot_init_exp(opts)\n\
+\n\
+ local save_raw\n\
+ if opts.raw then\n\
+ save_raw=get_raw()\n\
+ set_raw(opts.raw)\n\
+ end\n\
+ local save_dng\n\
+ if opts.dng then\n\
+ save_dng=get_config_value(226)\n\
+ set_config_value(226,opts.dng)\n\
+ end\n\
+ shoot()\n\
+ local r\n\
+ if opts.info then\n\
+ r = {\n\
+ dir=get_image_dir(),\n\
+ exp=get_exp_count(),\n\
+ raw=(get_raw() == 1),\n\
+ }\n\
+ if r.raw then\n\
+ r.raw_in_dir = (get_config_value(35) == 1)\n\
+ r.raw_pfx = get_config_value(36)\n\
+ r.raw_ext = get_config_value(37)\n\
+ r.dng = (get_config_value(226) == 1)\n\
+ if r.dng then\n\
+ r.use_dng_ext = (get_config_value(234) == 1)\n\
+ end\n\
+ end\n\
+ else\n\
+ r=true\n\
+ end\n\
+ if save_raw then\n\
+ set_raw(save_raw)\n\
+ end\n\
+ if save_dng then\n\
+ set_config_value(226,save_dng)\n\
+ end\n\
+ return r\n\
+end\n"
+
// bit flags for script start
diff --git a/src/device-flags.h b/src/device-flags.h
index ba3f22b..ced4985 100644
--- a/src/device-flags.h
+++ b/src/device-flags.h
@@ -19,8 +19,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
*
* This file is supposed to be included by both libmtp and libgphoto2.
*/
@@ -232,6 +232,12 @@
#define DEVICE_FLAG_NIKON_BROKEN_CAPTURE 0x00100000
/**
+ * To distinguish the V1 series from the DSLRs and handle them
+ * (libgphoto2)
+ */
+#define DEVICE_FLAG_NIKON_1 0x00200000
+
+/**
* Broken capture support where cameras do not send CaptureComplete events.
* (libgphoto2)
*/
@@ -269,14 +275,10 @@
*/
#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.
+ * On 2016 EOS cameras, do not close the session on exiting,
+ * as the device will only report ptp errors afterwards.
*/
-#define DEVICE_FLAG_BROKEN_GET_OBJECT_PROPVAL 0x20000000
+#define DEVICE_FLAG_DONT_CLOSE_SESSION 0x20000000
/**
* It seems that some devices return an bad data when
* using the GetObjectInfo operation. So in these cases
@@ -288,6 +290,15 @@
* 32 bit.
*/
#define DEVICE_FLAG_PROPLIST_OVERRIDES_OI 0x40000000
+/**
+ * The MTP stack of Samsung Galaxy devices has a mysterious bug in
+ * GetPartialObject. When GetPartialObject is invoked to read the last
+ * bytes of a file and the amount of data to read is such that the
+ * last USB packet sent in the reply matches exactly the USB 2.0
+ * packet size, then the Samsung Galaxy device hangs, resulting in a
+ * timeout error.
+ */
+#define DEVICE_FLAG_SAMSUNG_OFFSET_BUG 0x80000000
/**
* All these bug flags need to be set on SONY NWZ Walkman
diff --git a/src/libmtp.c b/src/libmtp.c
index 7a0ac13..c3d9c3a 100644
--- a/src/libmtp.c
+++ b/src/libmtp.c
@@ -44,6 +44,7 @@
#include "util.h"
#include "mtpz.h"
+int use_mtpz;
#include <stdarg.h>
#include <stdlib.h>
@@ -1876,8 +1877,8 @@ LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device_Uncached(LIBMTP_raw_device_t *rawdevi
current_params->error_func = LIBMTP_ptp_error;
/* TODO: Will this always be little endian? */
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");
+ current_params->cd_locale_to_ucs2 = iconv_open("UTF-16LE", "UTF-8");
+ current_params->cd_ucs2_to_locale = iconv_open("UTF-8", "UTF-16LE");
if(current_params->cd_locale_to_ucs2 == (iconv_t) -1 ||
current_params->cd_ucs2_to_locale == (iconv_t) -1) {
@@ -2221,6 +2222,8 @@ void LIBMTP_Handle_Event(PTPContainer *ptp_event,
case PTP_EC_DevicePropChanged:
LIBMTP_INFO("Received event PTP_EC_DevicePropChanged in session %u\n", session_id);
/* TODO: update device properties */
+ *event = LIBMTP_EVENT_DEVICE_PROPERTY_CHANGED;
+ *out1 = param1;
break;
case PTP_EC_ObjectInfoChanged:
LIBMTP_INFO("Received event PTP_EC_ObjectInfoChanged in session %u\n", session_id);
@@ -3197,7 +3200,7 @@ void LIBMTP_Dump_Device_Info(LIBMTP_mtpdevice_t *device)
printf(" None.\n");
} else {
for (i=0;i<params->deviceinfo.EventsSupported_len;i++) {
- printf(" 0x%04x (%s)\n", params->deviceinfo.EventsSupported[i], ptp_strerror(params->deviceinfo.EventsSupported[i], params->deviceinfo.VendorExtensionID));
+ printf(" 0x%04x: %s\n", params->deviceinfo.EventsSupported[i], ptp_get_event_code_name(params, params->deviceinfo.EventsSupported[i]));
}
}
printf("Device Properties Supported:\n");
@@ -4059,6 +4062,12 @@ int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *device, LIBMTP_devicecap_t cap)
PTP_OC_ANDROID_BeginEditObject) &&
ptp_operation_issupported(device->params,
PTP_OC_ANDROID_EndEditObject));
+ case LIBMTP_DEVICECAP_MoveObject:
+ return ptp_operation_issupported(device->params,
+ PTP_OC_MoveObject);
+ case LIBMTP_DEVICECAP_CopyObject:
+ return ptp_operation_issupported(device->params,
+ PTP_OC_CopyObject);
/*
* Handle other capabilities here, this is also a good place to
* blacklist some advanced operations on specific devices if need
@@ -4254,6 +4263,10 @@ static LIBMTP_file_t *obj2file(LIBMTP_mtpdevice_t *device, PTPObject *ob)
file->parent_id = ob->oi.ParentObject;
file->storage_id = ob->oi.StorageID;
+ if (ob->oi.Filename != NULL) {
+ file->filename = strdup(ob->oi.Filename);
+ }
+
// Set the filetype
file->filetype = map_ptp_type_to_libmtp_type(ob->oi.ObjectFormat);
@@ -4267,7 +4280,7 @@ static LIBMTP_file_t *obj2file(LIBMTP_mtpdevice_t *device, PTPObject *ob)
*/
if (file->filetype == LIBMTP_FILETYPE_UNKNOWN) {
if ((FLAG_IRIVER_OGG_ALZHEIMER(ptp_usb) ||
- FLAG_OGG_IS_UNKNOWN(ptp_usb)) &&
+ FLAG_OGG_IS_UNKNOWN(ptp_usb)) &&
has_ogg_extension(file->filename)) {
file->filetype = LIBMTP_FILETYPE_OGG;
}
@@ -4282,9 +4295,6 @@ static LIBMTP_file_t *obj2file(LIBMTP_mtpdevice_t *device, PTPObject *ob)
// 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;
@@ -4500,7 +4510,6 @@ LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *device,
uint32_t const parent)
{
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;
@@ -4516,17 +4525,6 @@ LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *device,
return NULL;
}
- 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
@@ -5270,26 +5268,28 @@ int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t *device,
uint16_t ret;
PTPParams *params = (PTPParams *) device->params;
PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
- PTPObject *ob;
- ret = ptp_object_want (params, id, PTPOBJECT_OBJECTINFO_LOADED, &ob);
- if (ret != PTP_RC_OK) {
+ LIBMTP_file_t *mtpfile = LIBMTP_Get_Filemetadata(device, id);
+ if (mtpfile == NULL) {
add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "LIBMTP_Get_File_To_File_Descriptor(): Could not get object info.");
return -1;
}
- if (ob->oi.ObjectFormat == PTP_OFC_Association) {
+ if (mtpfile->filetype == LIBMTP_FILETYPE_FOLDER) {
add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "LIBMTP_Get_File_To_File_Descriptor(): Bad object format.");
return -1;
}
// Callbacks
ptp_usb->callback_active = 1;
- ptp_usb->current_transfer_total = ob->oi.ObjectCompressedSize+
+ ptp_usb->current_transfer_total = mtpfile->filesize +
PTP_USB_BULK_HDR_LEN+sizeof(uint32_t); // Request length, one parameter
ptp_usb->current_transfer_complete = 0;
ptp_usb->current_transfer_callback = callback;
ptp_usb->current_transfer_callback_data = data;
+ // Don't need mtpfile anymore
+ LIBMTP_destroy_file_t(mtpfile);
+
ret = ptp_getobject_tofd(params, id, fd);
ptp_usb->callback_active = 0;
@@ -5332,29 +5332,31 @@ int LIBMTP_Get_File_To_Handler(LIBMTP_mtpdevice_t *device,
LIBMTP_progressfunc_t const callback,
void const * const data)
{
- PTPObject *ob;
uint16_t ret;
PTPParams *params = (PTPParams *) device->params;
PTP_USB *ptp_usb = (PTP_USB*) device->usbinfo;
- ret = ptp_object_want (params, id, PTPOBJECT_OBJECTINFO_LOADED, &ob);
- if (ret != PTP_RC_OK) {
+ LIBMTP_file_t *mtpfile = LIBMTP_Get_Filemetadata(device, id);
+ if (mtpfile == NULL) {
add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "LIBMTP_Get_File_To_File_Descriptor(): Could not get object info.");
return -1;
}
- if (ob->oi.ObjectFormat == PTP_OFC_Association) {
+ if (mtpfile->filetype == LIBMTP_FILETYPE_FOLDER) {
add_error_to_errorstack(device, LIBMTP_ERROR_GENERAL, "LIBMTP_Get_File_To_File_Descriptor(): Bad object format.");
return -1;
}
// Callbacks
ptp_usb->callback_active = 1;
- ptp_usb->current_transfer_total = ob->oi.ObjectCompressedSize+
+ ptp_usb->current_transfer_total = mtpfile->filesize +
PTP_USB_BULK_HDR_LEN+sizeof(uint32_t); // Request length, one parameter
ptp_usb->current_transfer_complete = 0;
ptp_usb->current_transfer_callback = callback;
ptp_usb->current_transfer_callback_data = data;
+ // Don't need mtpfile anymore
+ LIBMTP_destroy_file_t(mtpfile);
+
MTPDataHandler mtp_handler;
mtp_handler.getfunc = NULL;
mtp_handler.putfunc = put_func;
@@ -6807,6 +6809,79 @@ int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *device,
}
/**
+ * The function moves an object from one location on a device to another
+ * location.
+ *
+ * The semantics of moving a folder are not defined in the spec, but it
+ * appears to do the right thing when tested (but devices that implement
+ * this operation are rare).
+ *
+ * Note that moving an object may take a significant amount of time,
+ * particularly if being moved between storages. MTP does not provide
+ * any kind of progress mechanism, so the operation will simply block
+ * for the duration.
+ *
+ * @param device a pointer to the device where the object exists.
+ * @param object_id the object to move.
+ * @param storage_id the id of the destination storage.
+ * @param parent_id the id of the destination parent object (folder).
+ * If the destination is the root of the storage, pass '0'.
+ * @return 0 on success, any other value means failure.
+ */
+int LIBMTP_Move_Object(LIBMTP_mtpdevice_t *device,
+ uint32_t object_id,
+ uint32_t storage_id,
+ uint32_t parent_id)
+{
+ uint16_t ret;
+ PTPParams *params = (PTPParams *) device->params;
+
+ ret = ptp_moveobject(params, object_id, storage_id, parent_id);
+ if (ret != PTP_RC_OK) {
+ add_ptp_error_to_errorstack(device, ret, "LIBMTP_Move_Object(): could not move object.");
+ return -1;
+ }
+
+ return 0;
+}
+
+/**
+ * The function copies an object from one location on a device to another
+ * location.
+ *
+ * The semantics of copying a folder are not defined in the spec, but it
+ * appears to do the right thing when tested (but devices that implement
+ * this operation are rare).
+ *
+ * Note that copying an object may take a significant amount of time.
+ * MTP does not provide any kind of progress mechanism, so the operation
+ * will simply block for the duration.
+ *
+ * @param device a pointer to the device where the object exists.
+ * @param object_id the object to copy.
+ * @param storage_id the id of the destination storage.
+ * @param parent_id the id of the destination parent object (folder).
+ * If the destination is the root of the storage, pass '0'.
+ * @return 0 on success, any other value means failure.
+ */
+int LIBMTP_Copy_Object(LIBMTP_mtpdevice_t *device,
+ uint32_t object_id,
+ uint32_t storage_id,
+ uint32_t parent_id)
+{
+ uint16_t ret;
+ PTPParams *params = (PTPParams *) device->params;
+
+ ret = ptp_copyobject(params, object_id, storage_id, parent_id);
+ if (ret != PTP_RC_OK) {
+ add_ptp_error_to_errorstack(device, ret, "LIBMTP_Copy_Object(): could not copy object.");
+ return -1;
+ }
+
+ return 0;
+}
+
+/**
* Internal function to update an object filename property.
*/
static int set_object_filename(LIBMTP_mtpdevice_t *device,
@@ -9008,8 +9083,34 @@ 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;
+ PTPParams *params = (PTPParams *) device->params;
+ uint16_t ret;
+ LIBMTP_file_t *mtpfile = LIBMTP_Get_Filemetadata(device, id);
+
+ /* Some devices do not like reading over the end and hang instead of progressing */
+ if (offset >= mtpfile->filesize) {
+ *size = 0;
+ LIBMTP_destroy_file_t (mtpfile);
+ return 0;
+ }
+ if (offset + maxbytes > mtpfile->filesize) {
+ maxbytes = mtpfile->filesize - offset;
+ }
+ /* The MTP stack of Samsung Galaxy devices has a mysterious bug in
+ * GetPartialObject. When GetPartialObject is invoked to read the
+ * last bytes of a file and the amount of data to read is such that
+ * the last USB packet sent in the reply matches exactly the USB 2.0
+ * packet size, then the Samsung Galaxy device hangs, resulting in a
+ * timeout error.
+ * As a workaround, we read one less byte instead of reaching the
+ * end of the file, forcing the caller to perform an additional read
+ * to get the last byte (i.e. the final read that would fail is
+ * replaced with two partial reads that succeed).
+ */
+ if ((params->device_flags & DEVICE_FLAG_SAMSUNG_OFFSET_BUG) &&
+ (maxbytes % PTP_USB_BULK_HS_MAX_PACKET_LEN_READ) == (PTP_USB_BULK_HS_MAX_PACKET_LEN_READ - PTP_USB_BULK_HDR_LEN)) {
+ maxbytes--;
+ }
if (!ptp_operation_issupported(params, PTP_OC_ANDROID_GetPartialObject64)) {
if (!ptp_operation_issupported(params, PTP_OC_GetPartialObject)) {
diff --git a/src/libmtp.h.in b/src/libmtp.h.in
index 5ba6cc7..9e61089 100644
--- a/src/libmtp.h.in
+++ b/src/libmtp.h.in
@@ -427,6 +427,16 @@ typedef enum {
* @see LIBMTP_TruncateObject()
*/
LIBMTP_DEVICECAP_EditObjects,
+ /**
+ * This capability tells whether you can call the function to
+ * move an object, @see LIBMTP_MoveObject()
+ */
+ LIBMTP_DEVICECAP_MoveObject,
+ /**
+ * This capability tells whether you can call the function to
+ * copy an object, @see LIBMTP_CopyObject()
+ */
+ LIBMTP_DEVICECAP_CopyObject,
} LIBMTP_devicecap_t;
/**
@@ -801,6 +811,7 @@ enum LIBMTP_event_enum {
LIBMTP_EVENT_STORE_REMOVED,
LIBMTP_EVENT_OBJECT_ADDED,
LIBMTP_EVENT_OBJECT_REMOVED,
+ LIBMTP_EVENT_DEVICE_PROPERTY_CHANGED,
};
typedef enum LIBMTP_event_enum LIBMTP_event_t;
@@ -1044,6 +1055,8 @@ int LIBMTP_Set_Album_Name(LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *);
* @{
*/
int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t);
+int LIBMTP_Move_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t);
+int LIBMTP_Copy_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_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,
diff --git a/src/libmtp.sym b/src/libmtp.sym
index 01d54ff..90cf821 100644
--- a/src/libmtp.sym
+++ b/src/libmtp.sym
@@ -97,6 +97,8 @@ LIBMTP_Get_Album
LIBMTP_Create_New_Album
LIBMTP_Update_Album
LIBMTP_Delete_Object
+LIBMTP_Move_Object
+LIBMTP_Copy_Object
LIBMTP_Set_File_Name
LIBMTP_Set_Folder_Name
LIBMTP_Set_Track_Name
diff --git a/src/libopenusb1-glue.c b/src/libopenusb1-glue.c
index a4cfbad..5d0875e 100644
--- a/src/libopenusb1-glue.c
+++ b/src/libopenusb1-glue.c
@@ -500,7 +500,7 @@ static LIBMTP_error_number_t get_mtp_usb_device_list(mtpdevice_list_t ** mtp_dev
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;
@@ -651,7 +651,7 @@ LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t ** devices,
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",
+ LIBMTP_INFO("Device %d (VID=%04x and PID=%04x) is a %s %s.\n",
i,
desc.idVendor,
desc.idProduct,
@@ -1213,7 +1213,7 @@ ptp_usb_senddata(PTPParams* params, PTPContainer* ptp,
unsigned long packet_size;
PTP_USB *ptp_usb = (PTP_USB *) params->data;
- packet_size = ptp_usb->inep_maxpacket;
+ packet_size = ptp_usb->outep_maxpacket;
LIBMTP_USB_DEBUG("SEND DATA PHASE\n");
@@ -1239,7 +1239,7 @@ ptp_usb_senddata(PTPParams* params, PTPContainer* ptp,
if (ret != PTP_RC_OK){
return ret;
}
-
+
if (gotlen != datawlen){
return PTP_RC_GeneralError;
}
@@ -1256,7 +1256,7 @@ ptp_usb_senddata(PTPParams* params, PTPContainer* ptp,
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;
+ unsigned long 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){
diff --git a/src/libusb-glue.c b/src/libusb-glue.c
index 0079b08..7b76b88 100644
--- a/src/libusb-glue.c
+++ b/src/libusb-glue.c
@@ -666,7 +666,7 @@ LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t ** devices,
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",
+ LIBMTP_INFO("Device %d (VID=%04x and PID=%04x) is a %s %s.\n",
i,
dev->libusb_device->descriptor.idVendor,
dev->libusb_device->descriptor.idProduct,
@@ -1205,7 +1205,7 @@ ptp_usb_senddata (PTPParams* params, PTPContainer* ptp,
unsigned long packet_size;
PTP_USB *ptp_usb = (PTP_USB *) params->data;
- packet_size = ptp_usb->inep_maxpacket;
+ packet_size = ptp_usb->outep_maxpacket;
LIBMTP_USB_DEBUG("SEND DATA PHASE\n");
@@ -1246,7 +1246,7 @@ ptp_usb_senddata (PTPParams* params, PTPContainer* ptp,
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;
+ unsigned long 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)
diff --git a/src/libusb-glue.h b/src/libusb-glue.h
index 0ea6b29..be1fedf 100644
--- a/src/libusb-glue.h
+++ b/src/libusb-glue.h
@@ -168,8 +168,6 @@ int guess_usb_speed(PTP_USB *ptp_usb);
((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
index 3098553..636c544 100644
--- a/src/libusb1-glue.c
+++ b/src/libusb1-glue.c
@@ -52,6 +52,7 @@
* spend a bit of time collecting data. Higher values also
* make connecting/disconnecting more reliable.
*/
+#define USB_START_TIMEOUT 5000
#define USB_TIMEOUT_DEFAULT 20000
#define USB_TIMEOUT_LONG 60000
static inline int get_timeout(PTP_USB* ptp_usb)
@@ -109,6 +110,8 @@ 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 short ptp_read_cancel_func (PTPParams* params,
+ uint32_t transactionid);
static int usb_get_endpoint_status(PTP_USB* ptp_usb,
int ep, uint16_t* status);
@@ -687,7 +690,7 @@ LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t ** devices,
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",
+ LIBMTP_INFO("Device %d (VID=%04x and PID=%04x) is a %s %s.\n",
i,
desc.idVendor,
desc.idProduct,
@@ -837,6 +840,7 @@ ptp_read_func (
PTP_USB *ptp_usb = (PTP_USB *)data;
unsigned long toread = 0;
int ret = 0;
+ uint16_t handler_ret = 0;
int xread;
unsigned long curread = 0;
unsigned char *bytes;
@@ -861,7 +865,6 @@ ptp_read_func (
// 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
@@ -894,16 +897,20 @@ ptp_read_func (
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);
+ 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)
+ if (ret == LIBUSB_ERROR_TIMEOUT) {
+ return PTP_ERROR_TIMEOUT;
+ }
+ else if (ret != LIBUSB_SUCCESS){
return PTP_ERROR_IO;
+ }
LIBMTP_USB_DEBUG("<==USB IN\n");
if (xread == 0)
@@ -915,45 +922,54 @@ ptp_read_func (
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;
+ if (handler) {
+ handler_ret = handler->putfunc(NULL, handler->priv, xread, bytes);
+ if (handler_ret != PTP_RC_OK) {
+ LIBMTP_ERROR("LIBMTP error writing to fd or memory by handler."
+ "Not enough memory or temp/destination free space?");
+ free (bytes);
+ return PTP_ERROR_CANCEL;
+ }
+ }
- ptp_usb->current_transfer_complete += xread;
+ if (ptp_usb->callback_active)
+ 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;
+ // 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;
- }
+ 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) {
+ LIBMTP_USB_DEBUG("ptp_read_func cancelled by user callback\n");
+ free (bytes);
+ return PTP_ERROR_CANCEL;
+ }
}
}
if (xread < toread) /* short reads are common */
break;
}
- if (readbytes) *readbytes = curread;
+
+ 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) {
+ !FLAG_NO_ZERO_READS(ptp_usb) &&
+ curread % ptp_usb->inep_maxpacket == 0) {
unsigned char temp;
int zeroresult = 0, xread;
@@ -961,11 +977,11 @@ ptp_read_func (
LIBMTP_USB_DEBUG("Zero Read\n");
zeroresult = USB_BULK_READ(ptp_usb->handle,
- ptp_usb->inep,
- &temp,
- 0,
+ ptp_usb->inep,
+ &temp,
+ 0,
&xread,
- ptp_usb->timeout);
+ ptp_usb->timeout);
if (zeroresult != LIBUSB_SUCCESS)
LIBMTP_INFO("LIBMTP panic: unable to read in zero packet, response 0x%04x", zeroresult);
}
@@ -973,6 +989,69 @@ ptp_read_func (
return PTP_RC_OK;
}
+/*
+ * When cancelling a read from device.
+ * The device can take time to really stop sending in data, so we have to
+ * read and discard it.
+ * Stop when we encounter a timeout (so no more data in after 300ms).
+ * Corner case: Lets imagine that the cancel will arrive just for the last bytes
+ * of a file, and so that the transfer would still complete. The current code
+ * will also discard the "reply status" frame. That makes sense because from
+ * the host point of view, the end of the file will not have be written.
+ *
+ */
+static short
+ptp_read_cancel_func (
+ PTPParams* params,
+ uint32_t transactionid
+) {
+ PTP_USB *ptp_usb = (PTP_USB *) params->data;
+ uint16_t ret = 0;
+ PTPContainer MyEvent;
+ unsigned long xread = 0;
+ int old_callback_active = ptp_usb->callback_active;
+ int oldtimeout = 60000;
+
+
+ get_usb_device_timeout(ptp_usb, &oldtimeout);
+
+ ptp_usb->callback_active = 0;
+ /* Set a timeout similar to the one of windows in such a case: 300ms */
+ set_usb_device_timeout(ptp_usb, 300);
+
+ params->cancelreq_func(params, transactionid);
+
+
+ ret = params->devstatreq_func(params);
+ while (ret == PTP_RC_DeviceBusy) {
+ usleep(200000);
+ ret = params->devstatreq_func(params);
+ }
+
+ while (1) {
+ ret = ptp_read_func(ptp_usb->inep_maxpacket,
+ NULL,
+ params->data,
+ &xread,
+ 0);
+
+ if (ret != PTP_RC_OK)
+ break;
+ }
+
+ // Probably a "transfert cancelled" event will be raised.
+ // We have to clear it or a device like the "GoPro" will not reply anymore after
+ memset(&MyEvent,0,sizeof(MyEvent));
+ ptp_usb_event_check(params, &MyEvent);
+
+ /* Restore previous values */
+ ptp_usb->callback_active = old_callback_active;
+ set_usb_device_timeout(ptp_usb, oldtimeout);
+
+
+ return PTP_ERROR_CANCEL;
+}
+
static short
ptp_write_func (
unsigned long size,
@@ -1271,7 +1350,7 @@ ptp_usb_senddata (PTPParams* params, PTPContainer* ptp,
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;
+ unsigned long 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)
@@ -1371,25 +1450,25 @@ ptp_usb_getdata (PTPParams* params, PTPContainer* ptp, PTPDataHandler *handler)
handler->putfunc(
params, handler->priv, rlen - PTP_USB_BULK_HDR_LEN, usbdata.payload.data
);
- if (putfunc_ret != PTP_RC_OK)
- return putfunc_ret;
+ if (putfunc_ret != PTP_RC_OK)
+ return ptp_read_cancel_func(params, ptp->Transaction_ID);
/* stuff data directly to passed data handler */
while (1) {
unsigned long readdata;
- uint16_t xret;
- xret = ptp_read_func(
+ ret = ptp_read_func(
0x20000000,
handler,
params->data,
&readdata,
- 0
- );
- if (xret != PTP_RC_OK)
- return xret;
- if (readdata < 0x20000000)
- break;
+ 0);
+ if (ret == PTP_ERROR_CANCEL)
+ return ptp_read_cancel_func(params, ptp->Transaction_ID);
+ if (ret != PTP_RC_OK)
+ return ret;
+ if (readdata < 0x20000000)
+ break;
}
return PTP_RC_OK;
}
@@ -1442,7 +1521,7 @@ ptp_usb_getdata (PTPParams* params, PTPContainer* ptp, PTPDataHandler *handler)
usbdata.payload.data
);
if (putfunc_ret != PTP_RC_OK)
- return putfunc_ret;
+ return ptp_read_cancel_func(params, ptp->Transaction_ID);
if (FLAG_NO_ZERO_READS(ptp_usb) &&
len+PTP_USB_BULK_HDR_LEN == ptp_usb->inep_maxpacket) {
@@ -1484,12 +1563,16 @@ ptp_usb_getdata (PTPParams* params, PTPContainer* ptp, PTPDataHandler *handler)
}
ret = ptp_read_func(len - (rlen - PTP_USB_BULK_HDR_LEN),
- handler,
- params->data, &rlen, 1);
-
- if (ret != PTP_RC_OK) {
- break;
+ handler,
+ params->data,
+ &rlen,
+ 1);
+ if (ret == PTP_ERROR_CANCEL) {
+ ptp_read_cancel_func(params, ptp->Transaction_ID);
+ break;
}
+ if (ret != PTP_RC_OK)
+ break;
} while (0);
return ret;
}
@@ -1774,6 +1857,34 @@ ptp_usb_control_cancel_request (PTPParams *params, uint32_t transactionid) {
return PTP_RC_OK;
}
+/**
+ * PTP class level device status request
+ */
+uint16_t
+ptp_usb_control_device_status_request (PTPParams *params) {
+ PTP_USB *ptp_usb = (PTP_USB *)(params->data);
+ int ret;
+ unsigned char buffer[4];
+ // In theory, only 2x16 bytes are needed based on linux mtp implementation
+ // But the pima spec is not clear
+
+ ret = libusb_control_transfer(ptp_usb->handle,
+ LIBUSB_ENDPOINT_IN | LIBUSB_REQUEST_TYPE_CLASS | LIBUSB_RECIPIENT_INTERFACE,
+ 0x67, 0x0000, 0x0000,
+ buffer,
+ sizeof(buffer),
+ ptp_usb->timeout);
+ if (ret < sizeof(buffer))
+ return PTP_ERROR_IO;
+
+ ret = dtoh16a(&buffer[2]);
+ LIBMTP_USB_DEBUG("Device status request returned: 0x%04x \n", ret);
+ if (ret != PTP_RC_OK && ret != PTP_RC_DeviceBusy && ret != PTP_RC_TransactionCanceled)
+ return PTP_ERROR_IO;
+
+ return ret;
+}
+
static int init_ptp_usb(PTPParams* params, PTP_USB* ptp_usb, libusb_device* dev)
{
libusb_device_handle *device_handle;
@@ -1786,6 +1897,7 @@ static int init_ptp_usb(PTPParams* params, PTP_USB* ptp_usb, libusb_device* dev)
params->getresp_func=ptp_usb_getresp;
params->getdata_func=ptp_usb_getdata;
params->cancelreq_func=ptp_usb_control_cancel_request;
+ params->devstatreq_func=ptp_usb_control_device_status_request;
params->data=ptp_usb;
params->transaction_id=0;
/*
@@ -1812,10 +1924,11 @@ static int init_ptp_usb(PTPParams* params, PTP_USB* ptp_usb, libusb_device* dev)
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...");
+ 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.
@@ -1851,15 +1964,11 @@ static int init_ptp_usb(PTPParams* params, PTP_USB* ptp_usb, libusb_device* dev)
}
}
- /*
- * 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 (usbresult != 0) {
+ fprintf(stderr, "error returned by libusb_claim_interface() = %d", usbresult);
+ return -1;
+ }
/*
* If the altsetting is set to something different than we want, switch
@@ -2175,6 +2284,8 @@ LIBMTP_error_number_t configure_usb_device(LIBMTP_raw_device_t *device,
return LIBMTP_ERROR_CONNECTING;
}
+ /* Special short timeout for the first trial of opensession. */
+ set_usb_device_timeout(ptp_usb, USB_START_TIMEOUT);
/*
* This works in situations where previous bad applications
* have not used LIBMTP_Release_Device on exit
@@ -2192,6 +2303,7 @@ LIBMTP_error_number_t configure_usb_device(LIBMTP_raw_device_t *device,
return LIBMTP_ERROR_CONNECTING;
}
+ /* Normal timeout will have been restored by init_ptp_usb */
/* 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");
@@ -2218,6 +2330,9 @@ LIBMTP_error_number_t configure_usb_device(LIBMTP_raw_device_t *device,
return LIBMTP_ERROR_CONNECTING;
}
+ /* If everything is good, ensure to reset the timeout to the correct value */
+ set_usb_device_timeout(ptp_usb, get_timeout(ptp_usb));
+
/* OK configured properly */
*usbinfo = (void *) ptp_usb;
libusb_free_device_list (devs, 0);
diff --git a/src/mtpz.h b/src/mtpz.h
index c7c231b..f024394 100644
--- a/src/mtpz.h
+++ b/src/mtpz.h
@@ -45,7 +45,7 @@ static inline int mtpz_loaddata(void)
#endif
-int use_mtpz;
+extern int use_mtpz;
#endif /* LIBMTP_H_INCLUSION_GUARD */
diff --git a/src/music-players.h b/src/music-players.h
index 29ce31d..713305c 100644
--- a/src/music-players.h
+++ b/src/music-players.h
@@ -4,7 +4,7 @@
*
* Copyright (C) 2005-2007 Richard A. Low <richard@wentnet.com>
* Copyright (C) 2005-2013 Linus Walleij <triad@df.lth.se>
- * Copyright (C) 2006-2007,2015-2017 Marcus Meissner <marcus@jet.franken.de>
+ * Copyright (C) 2006-2007,2015-2018 Marcus Meissner <marcus@jet.franken.de>
* Copyright (C) 2007 Ted Bullock
* Copyright (C) 2012 Sony Mobile Communications AB
*
@@ -382,6 +382,7 @@
DEVICE_FLAG_UNLOAD_DRIVER |
DEVICE_FLAG_LONG_TIMEOUT |
DEVICE_FLAG_PROPLIST_OVERRIDES_OI |
+ DEVICE_FLAG_SAMSUNG_OFFSET_BUG |
DEVICE_FLAG_OGG_IS_UNKNOWN |
DEVICE_FLAG_FLAC_IS_UNKNOWN },
{ "Samsung", 0x04e8,
@@ -391,6 +392,7 @@
DEVICE_FLAG_UNLOAD_DRIVER |
DEVICE_FLAG_LONG_TIMEOUT |
DEVICE_FLAG_PROPLIST_OVERRIDES_OI |
+ DEVICE_FLAG_SAMSUNG_OFFSET_BUG |
DEVICE_FLAG_OGG_IS_UNKNOWN |
DEVICE_FLAG_FLAC_IS_UNKNOWN },
// From: Erik Berglund <erikjber@users.sourceforge.net>
@@ -404,6 +406,7 @@
DEVICE_FLAG_UNLOAD_DRIVER |
DEVICE_FLAG_LONG_TIMEOUT |
DEVICE_FLAG_PROPLIST_OVERRIDES_OI |
+ DEVICE_FLAG_SAMSUNG_OFFSET_BUG |
DEVICE_FLAG_OGG_IS_UNKNOWN |
DEVICE_FLAG_FLAC_IS_UNKNOWN },
// From: John Gorkos <ab0oo@users.sourceforge.net> and
@@ -628,6 +631,9 @@
/* Reported by Jocelyn Mayer <l_indien@magic.fr> */
{ "Acer", 0x0502, "Iconia One 10", 0x3841,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1733/ */
+ { "Acer", 0x0502, "Liquid Zest 4G", 0x38a5,
+ DEVICE_FLAGS_ANDROID_BUGS },
/* Mia */
{ "Acer", 0x0502, "Liquid Zest Plus", 0x38bb,
DEVICE_FLAGS_ANDROID_BUGS },
@@ -846,6 +852,10 @@
{ "iRiver", 0x4102, "E30", 0x1167,
DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS |
DEVICE_FLAG_OGG_IS_UNKNOWN },
+ /* https://sourceforge.net/p/libmtp/bugs/1766/ */
+ { "iRiver", 0x4102, "AK380", 0x1195,
+ 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,
@@ -1016,6 +1026,8 @@
{ "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 },
+ /* https://sourceforge.net/p/libmtp/support-requests/241 */
+ { "Archos", 0x0e79, "50 Diamond (2nd ID)", 0x322a, 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 },
@@ -1043,8 +1055,12 @@
/* https://sourceforge.net/p/libmtp/support-requests/245/ */
{ "Archos", 0x0e79, "55B Platinum", 0x544a, DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1799/ */
+ { "Archos", 0x0e79, "50F Helium", 0x545c, DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/feature-requests/209/ */
{ "Archos", 0x0e79, "55 diamond Selfie", 0x5465, DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/feature-requests/262/ */
+ { "Archos", 0x0e79, "Core 50P", 0x5603, DEVICE_FLAGS_ANDROID_BUGS },
/*
@@ -1217,6 +1233,8 @@
{ "Nokia", 0x0421, "C5-00", 0x0592, DEVICE_FLAG_NONE },
/* https://sourceforge.net/p/libmtp/bugs/1457/ */
{ "Nokia", 0x0421, "C5-00 (ID2)", 0x0595, DEVICE_FLAG_NONE },
+ /* https://sourceforge.net/p/libmtp/feature-requests/235/ */
+ { "Nokia", 0x0421, "500", 0x05c0, DEVICE_FLAG_NONE },
{ "Nokia", 0x0421, "808 PureView", 0x05d3, DEVICE_FLAG_NONE },
// Reported by Sampo Savola
// Covers Lumia 920, 820 and probably any WP8 device.
@@ -1233,6 +1251,10 @@
/* https://sourceforge.net/p/libmtp/bugs/1453/ */
{ "Nokia", 0x0421, "X2 Dual Sim", 0x0708, DEVICE_FLAG_NONE },
+ /* https://sourceforge.net/p/libmtp/bugs/1711/ */
+ { "Nokia", 0x2e04, "6", 0xc025, DEVICE_FLAG_NONE },
+ /* https://sourceforge.net/p/libmtp/bugs/1783/ */
+ { "Nokia", 0x2e04, "6.1", 0xc026, DEVICE_FLAG_NONE },
/*
* Qualcomm
@@ -1840,6 +1862,8 @@
DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "Xperia Z1 Compact D5503", 0x01a7,
DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "Xperia T2 Ultra MTP", 0x01a9,
+ DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "Xperia M2 MTP", 0x01aa,
DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "Xperia M2 Dual MTP", 0x01ab,
@@ -1880,13 +1904,44 @@
DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "XPeria Z5 Compact MTP", 0x01da,
DEVICE_FLAG_NONE },
+ /* https://sourceforge.net/p/libmtp/feature-requests/236/ */
+ { "SONY", 0x0fce, "XPeria Z5 Premium Dual Sim MTP", 0x01db,
+ DEVICE_FLAG_NONE },
/* https://sourceforge.net/p/libmtp/bugs/1649/ */
{ "SONY", 0x0fce, "XPeria XA MTP", 0x01de,
DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria X MTP", 0x01e0,
+ DEVICE_FLAG_NONE },
+ /* https://sourceforge.net/p/libmtp/feature-requests/251/ */
+ { "SONY", 0x0fce, "XPeria SOV33", 0x01e1,
+ DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "XPeria XZ MTP", 0x01e7,
DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "XPeria X Compact MTP", 0x01e8,
DEVICE_FLAG_NONE },
+ /* https://sourceforge.net/p/libmtp/feature-requests/252/ */
+ { "SONY", 0x0fce, "XPeria G3123", 0x01eb,
+ DEVICE_FLAG_NONE },
+ /* https://sourceforge.net/p/libmtp/support-requests/247/ */
+ { "SONY", 0x0fce, "XPeria XZ", 0x01ed,
+ DEVICE_FLAG_NONE },
+ /* https://sourceforge.net/p/libmtp/support-requests/251/ */
+ { "SONY", 0x0fce, "XPeria XZ Premium", 0x01f1,
+ DEVICE_FLAG_NONE },
+ /* Nicholas O'Connor <lavacano@lavacano.net> on libmtp-discuss */
+ { "SONY", 0x0fce, "XPeria XZ1", 0x01f3,
+ DEVICE_FLAG_NONE },
+ /* https://sourceforge.net/p/libmtp/support-requests/252/ */
+ { "SONY", 0x0fce, "XPeria XZ1 Compact", 0x01f4,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria XA2 Compact", 0x01f7,
+ DEVICE_FLAG_NONE },
+ /* https://sourceforge.net/p/libmtp/bugs/1804/ */
+ { "SONY", 0x0fce, "Xperia XZ2 Compact Dual Sim", 0x01f9,
+ DEVICE_FLAG_NONE },
+ /* https://sourceforge.net/p/libmtp/bugs/1775/ */
+ { "SONY", 0x0fce, "Xperia XZ2 (H8266)", 0x01fa,
+ DEVICE_FLAG_NONE },
/*
@@ -1950,6 +2005,8 @@
DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "Xperia Z1 Compact D5503 MTP+CDROM", 0x41a7,
DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "Xperia T2 Ultra MTP+CDROM", 0x41a9,
+ DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "Xperia M2 MTP+CDROM", 0x41aa,
DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "Xperia M2 Dual MTP+CDROM", 0x41ab,
@@ -1990,12 +2047,34 @@
DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "XPeria Z5 Compact MTP+CDROM", 0x41da,
DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria Z5 Premium Dual Sim MTP+CDROM", 0x41db,
+ DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "XPeria XA MTP+CDROM", 0x41de,
DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria X MTP+CDROM", 0x41e0,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria SOV33 MTP+CDROM", 0x41e1,
+ DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "XPeria XZ MTP+CDROM", 0x41e7,
DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "XPeria X Compact MTP+CDROM", 0x41e8,
DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria G3123 MTP+CDROM", 0x41eb,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria XZ CDROM", 0x41ed,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria XZ Premium MTP+CDROM", 0x41f1,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria XZ1 MTP+CDROM", 0x41f3,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria XZ1 Compact MTP+CDROM", 0x41f4,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria XA2 Compact MTP+CDROM", 0x41f7,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "Xperia XZ2 Compact Dual Sim MTP+CDROM", 0x41f9,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "Xperia XZ2 (H8266) MTP+CDROM", 0x41fa,
+ DEVICE_FLAG_NONE },
/*
* MTP+ADB personalities of MTP devices (see above)
@@ -2082,6 +2161,8 @@
DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "Xperia Z1 Compact MTP+ADB", 0x51a7,
DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "Xperia T2 Ultra MTP+ADB", 0x51a9,
+ DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "Xperia M2 MTP+ADB", 0x51aa,
DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "Xperia M2 Dual MTP+ADB", 0x51ab,
@@ -2122,12 +2203,34 @@
DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "XPeria Z5 Compact MTP+ADB", 0x51da,
DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria Z5 Premium Dual Sim MTP+ADB", 0x51db,
+ DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "XPeria XA MTP+ADB", 0x51de,
DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria X MTP+ADB", 0x51e0,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria SOV33 MTP+ADB", 0x51e1,
+ DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "XPeria XZ MTP+ADB", 0x51e7,
DEVICE_FLAG_NONE },
{ "SONY", 0x0fce, "XPeria X Compact MTP+ADB", 0x51e8,
DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria G3123 MTP+ADB", 0x51eb,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria XZ ADB", 0x51ed,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria XZ Premium MTP+ADB", 0x51f1,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria XZ1 ADB", 0x51f3,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria XZ1 Compact MTP+ADB", 0x51f4,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "XPeria XA2 Compact MTP+ADB", 0x51f7,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "Xperia XZ2 Compact Dual Sim MTP+ADB", 0x51f9,
+ DEVICE_FLAG_NONE },
+ { "SONY", 0x0fce, "Xperia XZ2 (H8266) MTP+ADB", 0x51fa,
+ DEVICE_FLAG_NONE },
/*
* MTP+UMS modes
@@ -2173,6 +2276,9 @@
{ "Motorola", 0x22b8, "V3m/V750 verizon", 0x2a65,
DEVICE_FLAG_BROKEN_SET_OBJECT_PROPLIST |
DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL },
+ /* https://sourceforge.net/p/libmtp/support-requests/130/ */
+ { "Motorola", 0x22b8, "X 2nd edition XT1097 (MTP)", 0x2e24,
+ DEVICE_FLAGS_ANDROID_BUGS },
{ "Motorola", 0x22b8, "Atrix/Razr HD (MTP)", 0x2e32,
DEVICE_FLAGS_ANDROID_BUGS },
{ "Motorola", 0x22b8, "Atrix/Razr HD (MTP+ADB)", 0x2e33,
@@ -2448,6 +2554,9 @@
/* https://sourceforge.net/p/libmtp/bugs/1658/ */
{ "RIM", 0x0fca, "BlackBerry Dtek 60", 0x8041, DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/feature-requests/264/ */
+ { "RIM", 0x0fca, "BlackBerry Keyone", 0x8042, DEVICE_FLAGS_ANDROID_BUGS },
+
/*
* Nextar
*/
@@ -2638,6 +2747,9 @@
/* https://sourceforge.net/p/libmtp/bugs/1364/ */
{ "Asus", 0x0b05, "Zenfone 2 ZE551ML (MTP)", 0x5f03,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/feature-requests/255/ */
+ { "Asus", 0x0b05, "Zenfone V (MTP)", 0x610f,
+ DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/bugs/1642/ */
{ "Asus", 0x0b05, "ME581CL", 0x7770,
DEVICE_FLAGS_ANDROID_BUGS },
@@ -2731,8 +2843,11 @@
/* https://sourceforge.net/p/libmtp/bugs/1250/ */
{ "Lenovo", 0x17ef, "A5500-F", 0x772b,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1742/ */
+ { "Lenovo", 0x17ef, "A7600-F", 0x7730,
+ DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/bugs/1391/ */
- { "Lenovo", 0x17ef, "A7600-F", 0x7731,
+ { "Lenovo", 0x17ef, "A7600-F 2nd", 0x7731,
DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/bugs/1291/ */
{ "Lenovo", 0x17ef, "A3500-F", 0x7737,
@@ -2757,6 +2872,15 @@
/* https://sourceforge.net/p/libmtp/feature-requests/125/ */
{ "Lenovo", 0x17ef, "Vibe Z2", 0x77ea,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1793/ */
+ { "Lenovo", 0x17ef, "S60-a", 0x7802,
+ DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/support-requests/272/ */
+ { "Lenovo", 0x17ef, "A7-30HC", 0x7852,
+ DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/feature-requests/253/ */
+ { "Lenovo", 0x17ef, "A7000-A Smartphone", 0x7882,
+ DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/bugs/1360/ */
{ "Lenovo", 0x17ef, "K3 Note", 0x7883,
DEVICE_FLAGS_ANDROID_BUGS },
@@ -2766,6 +2890,9 @@
/* https://sourceforge.net/p/libmtp/bugs/1497/ */
{ "Lenovo", 0x17ef, "A10-70L", 0x789b,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/support-requests/264/ */
+ { "Lenovo", 0x17ef, "Vibe Shot Z90a40", 0x78a7,
+ DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/bugs/1480/ */
{ "Medion", 0x17ef, "P8312 Tablet", 0x78ae,
DEVICE_FLAGS_ANDROID_BUGS },
@@ -2784,6 +2911,9 @@
/* https://sourceforge.net/p/libmtp/bugs/1531/ */
{ "Lenovo", 0x17ef, "Vibe X", 0x7902,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1784/ */
+ { "Lenovo", 0x17ef, "P1ma40 (2nd ID)", 0x7920,
+ DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/support-requests/235/ */
{ "Lenovo", 0x17ef, "P1ma40", 0x7921,
DEVICE_FLAGS_ANDROID_BUGS },
@@ -2799,6 +2929,9 @@
/* https://sourceforge.net/p/libmtp/feature-requests/204/ */
{ "Lenovo", 0x17ef, "TAB 2 A10-30", 0x7949,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1719/ */
+ { "Lenovo", 0x17ef, "YT3 X90F", 0x795c,
+ DEVICE_FLAGS_ANDROID_BUGS },
{ "Lenovo", 0x17ef, "K5", 0x7993,
DEVICE_FLAGS_ANDROID_BUGS },
{ "Lenovo", 0x17ef, "Vibe K5 Note", 0x7999,
@@ -2809,12 +2942,33 @@
/* 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/1755/ */
+ { "Lenovo", 0x17ef, "TB3-850M ", 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/1738/ */
+ { "Lenovo", 0x17ef, "K6 Power", 0x7a2a,
+ DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/bugs/1679/ */
{ "Lenovo", 0x17ef, "C2", 0x7a36,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/support-requests/248/ */
+ { "Lenovo", 0x17ef, "P2c72", 0x7a36,
+ DEVICE_FLAGS_ANDROID_BUGS },
+ /* Marcus parents */
+ { "Lenovo", 0x17ef, "Tab 10", 0x7a50,
+ DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/support-requests/262/ */
+ { "Lenovo", 0x17ef, "Tab4 10", 0x7ac5,
+ DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1736/ */
+ { "Lenovo", 0x17ef, "P1060X", 0x9039,
+ DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/feature-requests/259/ */
+ { "Medion", 0x17ef, "P10606", 0xf003,
+ DEVICE_FLAGS_ANDROID_BUGS },
/*
* Huawei
@@ -2839,6 +2993,9 @@
/* https://sourceforge.net/p/libmtp/feature-requests/173/ */
{ "Huawei", 0x12d1, "P9 Plus", 0x107e,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/support-requests/259/ */
+ { "Huawei", 0x12d1, "Y5 2017", 0x107f,
+ DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/bugs/1361/ */
{ "Huawei", 0x12d1, "Ascend P8", 0x1082,
DEVICE_FLAGS_ANDROID_BUGS },
@@ -2857,6 +3014,9 @@
/* https://sourceforge.net/p/libmtp/feature-requests/205/ */
{ "Huawei", 0x12d1, "Y360-U03", 0x256b,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1774/ */
+ { "Huawei", 0x12d1, "Y541-U02", 0x257c,
+ DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/support-requests/227/ */
{ "Huawei", 0x12d1, "Y560-L01", 0x259c,
DEVICE_FLAGS_ANDROID_BUGS },
@@ -2865,6 +3025,9 @@
*/
{ "Huawei", 0x12d1, "CUN-U29", 0x2608,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/support-requests/257/ */
+ { "Huawei", 0x12d1, "LUA-L02", 0x260b,
+ DEVICE_FLAGS_ANDROID_BUGS },
{ "Huawei", 0x12d1, "Mediapad (mode 0)", 0x360f,
DEVICE_FLAGS_ANDROID_BUGS },
// Reported by Bearsh <bearsh@users.sourceforge.net>
@@ -2882,6 +3045,8 @@
/* 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/1745/ */
+ { "ZTE", 0x19d2, "Blade L3", 0x2008, 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/ */
@@ -2893,6 +3058,9 @@
* Steven Eastland <grassmonk@users.sourceforge.net>
* Kevin Cheng <kache@users.sf.net>
*/
+ /* https://sourceforge.net/p/libmtp/feature-requests/173/ */
+ { "HTC", 0x0bb4, "M9", 0x0401,
+ DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/support-requests/181/ */
{ "HTC", 0x0bb4, "One M9 (1st ID)", 0x040b,
DEVICE_FLAGS_ANDROID_BUGS },
@@ -3026,6 +3194,9 @@
DEVICE_FLAGS_ANDROID_BUGS },
{ "HTC", 0x0bb4, "HTC One M8 (MTP)", 0x0f25,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/feature-requests/245/ */
+ { "HTC", 0x0bb4, "HTC One U11 (MTP)", 0x0f26,
+ DEVICE_FLAGS_ANDROID_BUGS },
{ "HTC", 0x0bb4, "HTC One M8 (MTP+ADB)", 0x061a,
DEVICE_FLAGS_ANDROID_BUGS },
{ "HTC", 0x0bb4, "HTC One M8 (MTP+UMS)", 0x0fb5,
@@ -3075,6 +3246,8 @@
* NEC
*/
{ "NEC", 0x0409, "FOMA N01A", 0x0242, DEVICE_FLAG_NONE },
+ /* https://sourceforge.net/p/libmtp/bugs/1724/ */
+ { "Casio", 0x0409, "GzOne Commando C771", 0x02ed, DEVICE_FLAG_NONE },
{ "NEC", 0x0409, "Casio C811", 0x0326, DEVICE_FLAG_NONE },
{ "NEC", 0x0409, "Casio CA-201L", 0x0432, DEVICE_FLAG_NONE },
@@ -3092,16 +3265,18 @@
/* https://sourceforge.net/p/libmtp/bugs/1582/ */
{ "nVidia", 0x0955, "Jetson TX1", 0x7721,
DEVICE_FLAGS_ANDROID_BUGS },
- { "nVidia", 0x0955, "Shield (ID1)", 0xb400,
+ { "nVidia", 0x0955, "Shield (MTP+ADB)", 0xb400,
DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/bugs/1447/ */
- { "nVidia", 0x0955, "Shield (Tegra4)", 0xb401,
+ { "nVidia", 0x0955, "Shield (MTP)", 0xb401,
DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/bugs/1087/ */
{ "nVidia", 0x0955, "Tegra Note", 0xcf02,
DEVICE_FLAGS_ANDROID_BUGS },
+ { "nVidia", 0x0955, "Shield Tablet (MTP+ADB)", 0xcf05,
+ DEVICE_FLAGS_ANDROID_BUGS },
/* benpro82@gmail.com */
- { "nVidia", 0x0955, "Shield (ID2)", 0xcf07,
+ { "nVidia", 0x0955, "Shield Tablet (MTP)", 0xcf07,
DEVICE_FLAGS_ANDROID_BUGS },
/*
@@ -3162,6 +3337,12 @@
/* https://sourceforge.net/p/libmtp/bugs/1491/ */
{ "Amazon", 0x1949, "Kindle Fire 5", 0x0222,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1718/ */
+ { "Amazon", 0x1949, "Kindle Fire 8 (2nd ID)", 0x0261,
+ DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1776/ */
+ { "Amazon", 0x1949, "Kindle Fire 7 (2nd ID)", 0x0271,
+ DEVICE_FLAGS_ANDROID_BUGS },
{ "Amazon", 0x1949, "Fire Phone", 0x0800,
DEVICE_FLAGS_ANDROID_BUGS },
@@ -3204,8 +3385,12 @@
* Hisense
*/
// Reported by Anonymous SourceForge users
+ { "HiSense", 0x109b, "Sero 7 Pro", 0x9105, DEVICE_FLAGS_ANDROID_BUGS },
{ "Hisense", 0x109b, "E860 (ID1)", 0x9106, DEVICE_FLAGS_ANDROID_BUGS },
{ "Hisense", 0x109b, "E860 (ID2)", 0x9109, DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1704/ */
+ { "Crosscall", 0x109b, "Trekker M1 core", 0x9130, DEVICE_FLAGS_ANDROID_BUGS },
+
/*
* Intel
@@ -3310,6 +3495,9 @@
/* https://sourceforge.net/p/libmtp/bugs/1304/ */
{ "Alcatel", 0x1bbb, "OneTouch 5042D (MTP)", 0xa00e,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1776/ */
+ { "Alcatel", 0x1bbb, "Popo4 (MTP)", 0xa00f,
+ DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/bugs/1605/ */
{ "Alcatel", 0x1bbb, "OneTouch Idol 3 ID2 (MTP)", 0xaf00,
DEVICE_FLAGS_ANDROID_BUGS },
@@ -3335,6 +3523,8 @@
{ "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/support-requests/270/ */
+ { "Kyocera", 0x0482, "Hydro Icon", 0x085e, 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/ */
@@ -3347,12 +3537,6 @@
{ "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,
@@ -3377,9 +3561,15 @@
/* https://sourceforge.net/p/libmtp/bugs/1467/ */
{ "elephone", 0x0e8d, "p6000", 0x2008,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/feature-requests/234/ */
+ { "DOODGE", 0x0e8d, "X6pro", 0x200a,
+ DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/feature-requests/79/ */
{ "MediaTek Inc", 0x0e8d, "Elephone P8000", 0x201d,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1717/ */
+ { "MediaTek Inc", 0x0e8d, "Wiko Sunny", 0x4001,
+ DEVICE_FLAGS_ANDROID_BUGS },
/*
* Jolla
@@ -3408,6 +3598,9 @@
*/
{ "Garmin", 0x091e, "Monterra", 0x2585,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1779/ */
+ { "Garmin", 0x091e, "Forerunner 645 Music", 0x4b48,
+ DEVICE_FLAGS_ANDROID_BUGS },
/*
* Wacom
@@ -3453,9 +3646,16 @@
/* https://sourceforge.net/p/libmtp/bugs/1541/ */
{ "bq", 0x2a47, "Aquarius M5.5", 0x901b,
DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/support-requests/269/ */
+ { "bq", 0x2a47, "Aquarius U", 0x9039,
+ DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/feature-requests/231/ */
+ { "bq", 0x2a47, "U Plus", 0xf003, 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/support-requests/260/ */
+ { "MediaTek", 0x29e4, "5508 DUO", 0x1201, 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/ */
@@ -3495,8 +3695,14 @@
{ "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/support-requests/253/ */
+ { "Caterpillar", 0x04b7, "Cat S30", 0x88b9, 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/1757/ */
+ { "Caterpillar", 0x04b7, "Cat S41", 0x88c6, DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/feature-requests/260/ */
+ { "Caterpillar", 0x04b7, "Cat S31", 0x88d0, DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/bugs/682/ */
{ "Pegatron", 0x1d4d, "Chagall (ADB)", 0x5035, DEVICE_FLAGS_ANDROID_BUGS },
@@ -3516,6 +3722,9 @@
/* https://sourceforge.net/p/libmtp/bugs/1212/ */
{ "Fly", 0x2970, "Evo Tech 4", 0x2008, DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1720/ */
+ { "Wileyfox", 0x2970, "Spark Plus", 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/ */
@@ -3537,6 +3746,9 @@
*/
{ "YU Yureka", 0x1ebf, "Vodafone smart turbo 4", 0x7f29, DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/feature-requests/249/ */
+ { "Coolpad", 0x1ebf, "801ES", 0x7029, DEVICE_FLAGS_ANDROID_BUGS },
+
/* https://sourceforge.net/p/libmtp/bugs/1314/ */
{ "BenQ", 0x1d45, "F5", 0x459d, DEVICE_FLAGS_ANDROID_BUGS },
@@ -3571,10 +3783,17 @@
{ "GoPro" , 0x2672, "HERO+", 0x0021, DEVICE_FLAG_NONE },
{ "GoPro" , 0x2672, "HERO5 Black", 0x0027, DEVICE_FLAG_NONE },
{ "GoPro" , 0x2672, "HERO5 Session", 0x0029, DEVICE_FLAG_NONE },
+ { "GoPro" , 0x2672, "HERO 2018", 0x002d, DEVICE_FLAG_NONE },
+ { "GoPro" , 0x2672, "FUSION (back)", 0x0032, DEVICE_FLAG_NONE },
+ { "GoPro" , 0x2672, "FUSION (front)", 0x0035, DEVICE_FLAG_NONE },
+ { "GoPro" , 0x2672, "HERO6 Black", 0x0037, DEVICE_FLAG_NONE },
+ { "GoPro" , 0x2672, "HERO7 Black", 0x0047, DEVICE_FLAG_NONE },
/* https://sourceforge.net/p/libmtp/bugs/1490/ */
{ "Marshall" , 0x2ad9, "London", 0x000b, DEVICE_FLAG_NONE },
+ /* https://sourceforge.net/p/libmtp/feature-requests/257/ */
+ { "Fairphone" , 0x2ae5, "Fairphone 2 (ID2)", 0x6764, DEVICE_FLAGS_ANDROID_BUGS },
/* 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/ */
@@ -3595,10 +3814,19 @@
/* https://sourceforge.net/p/libmtp/bugs/1596/ */
{ "Zuk" , 0x2b4c, "Z1 (2nd ID)", 0x1005, DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/support-requests/250/ */
+ { "Zuk" , 0x2b4c, "Z2 Pro", 0x1013, DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1782/ */
+ { "Zuk" , 0x2b4c, "Z2", 0x101a, 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/bugs/1805/ */
+ { "LeMobile" , 0x2b0e, "Le 2", 0x1714, DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/support-requests/274/ */
+ { "LeMobile" , 0x2b0e, "Le 2 (ID2)", 0x171b, 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/ */
@@ -3607,6 +3835,11 @@
{ "Letv" , 0x2b0e, "X800 (ID1)", 0x182c, DEVICE_FLAGS_ANDROID_BUGS },
{ "Letv" , 0x2b0e, "X800 (ID2)", 0x1830, DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1716/ */
+ { "Letv" , 0x2b0e, "Le Max2", 0x1840, DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/bugs/1768/ */
+ { "Letv" , 0x2b0e, "Le Max2 (ID2)", 0x1844, 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/ */
@@ -3625,6 +3858,26 @@
/* https://sourceforge.net/p/libmtp/bugs/1663/ */
{ "Nextbit" , 0x2c3f, "Robin", 0x0001, DEVICE_FLAGS_ANDROID_BUGS },
+
+ /* https://sourceforge.net/p/libmtp/feature-requests/240/ */
+ { "Spreadtrum" , 0x1782, "STK Storm 2e Pluz", 0x4002, DEVICE_FLAGS_ANDROID_BUGS },
+
+ /* https://sourceforge.net/p/libmtp/support-requests/258/ */
+ { "Essential Phone" , 0x2e17, "PH-1a", 0xc030, DEVICE_FLAGS_ANDROID_BUGS },
+ /* https://sourceforge.net/p/libmtp/feature-requests/242/ */
+ { "Essential Phone" , 0x2e17, "PH-1", 0xc033, DEVICE_FLAGS_ANDROID_BUGS },
+
+ /* https://sourceforge.net/p/libmtp/feature-requests/247/ */
+ { "VEGA" , 0x10a9, "R3", 0x1105, DEVICE_FLAGS_ANDROID_BUGS },
+
+ /* https://sourceforge.net/p/libmtp/bugs/1764/ */
+ { "O&P Innovations" , 0x0746, "XDP-100R", 0xa003, DEVICE_FLAGS_ANDROID_BUGS },
+
+ /* https://sourceforge.net/p/libmtp/bugs/1786/ */
+ { "Niteto" , 0x16c0, "ADF-Drive", 0x0489, DEVICE_FLAGS_ANDROID_BUGS },
+
+ /* https://sourceforge.net/p/libmtp/bugs/1786/ */
+ { "Longcheer" , 0x1c9e, "D", 0xf003, DEVICE_FLAGS_ANDROID_BUGS },
/*
* Other strange stuff.
*/
diff --git a/src/ptp-pack.c b/src/ptp-pack.c
index 22b9ae7..5319525 100644
--- a/src/ptp-pack.c
+++ b/src/ptp-pack.c
@@ -1,7 +1,7 @@
/* ptp-pack.c
*
* Copyright (C) 2001-2004 Mariusz Woloszyn <emsi@ipartners.pl>
- * Copyright (C) 2003-2016 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>
@@ -136,17 +136,22 @@ ptp_unpack_string(PTPParams *params, unsigned char* data, uint16_t offset, uint3
size_t nconv, srclen, destlen;
char *src, *dest;
+ *len = 0;
+
if (offset + 1 >= total)
return NULL;
length = dtoh8a(&data[offset]); /* PTP_MAXSTRLEN == 255, 8 bit len */
- *len = length;
- if (length == 0) /* nothing to do? */
+ if (length == 0) { /* nothing to do? */
+ *len = 0;
return NULL;
+ }
if (offset + 1 + length*sizeof(string[0]) > total)
return NULL;
+ *len = length;
+
/* 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. */
@@ -319,7 +324,11 @@ ptp_unpack_uint16_t_array(PTPParams *params, unsigned char* data, unsigned int o
if (!data)
return 0;
*array = NULL;
+
+ if (datalen - offset < sizeof(uint32_t))
+ return 0;
n=dtoh32a(&data[offset]);
+
if (n >= UINT_MAX/sizeof(uint16_t))
return 0;
if (!n)
@@ -367,7 +376,10 @@ ptp_unpack_DI (PTPParams *params, unsigned char* data, PTPDeviceInfo *di, unsign
datalen,
&len);
totallen=len*2+1;
- if (datalen <= totallen) return 0;
+ if (datalen <= totallen + PTP_di_FunctionalMode + sizeof(uint16_t)) {
+ ptp_debug (params, "datalen %d <= totallen + PTP_di_FunctionalMode + sizeof(uint16_t) %d", datalen, totallen + PTP_di_FunctionalMode + sizeof(uint16_t));
+ return 0;
+ }
di->FunctionalMode =
dtoh16a(&data[PTP_di_FunctionalMode+totallen]);
di->OperationsSupported_len = ptp_unpack_uint16_t_array(params, data,
@@ -375,53 +387,77 @@ ptp_unpack_DI (PTPParams *params, unsigned char* data, PTPDeviceInfo *di, unsign
datalen,
&di->OperationsSupported);
totallen=totallen+di->OperationsSupported_len*sizeof(uint16_t)+sizeof(uint32_t);
- if (datalen <= totallen+PTP_di_OperationsSupported) return 0;
+ if (datalen <= totallen+PTP_di_OperationsSupported) {
+ ptp_debug (params, "datalen %d <= totallen+PTP_di_OperationsSupported %d 1", 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;
+ if (datalen <= totallen+PTP_di_OperationsSupported) {
+ ptp_debug (params, "datalen %d <= totallen+PTP_di_OperationsSupported %d 2", 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;
+ if (datalen <= totallen+PTP_di_OperationsSupported) {
+ ptp_debug (params, "datalen %d <= totallen+PTP_di_OperationsSupported %d 3", 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;
+ if (datalen <= totallen+PTP_di_OperationsSupported) {
+ ptp_debug (params, "datalen %d <= totallen+PTP_di_OperationsSupported %d 4", 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;
+ if (datalen <= totallen+PTP_di_OperationsSupported) {
+ ptp_debug (params, "datalen %d <= totallen+PTP_di_OperationsSupported %d 5", 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;
+ if (datalen <= totallen+PTP_di_OperationsSupported) {
+ ptp_debug (params, "datalen %d <= totallen+PTP_di_OperationsSupported %d 6", 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;
+ if (datalen <= totallen+PTP_di_OperationsSupported) {
+ ptp_debug (params, "datalen %d <= totallen+PTP_di_OperationsSupported %d 7", 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;
+ if (datalen <= totallen+PTP_di_OperationsSupported) {
+ ptp_debug (params, "datalen %d <= totallen+PTP_di_OperationsSupported %d 8", datalen, totallen+PTP_di_OperationsSupported);
+ return 1;
+ }
di->SerialNumber = ptp_unpack_string(params, data,
PTP_di_OperationsSupported+totallen,
datalen,
@@ -698,8 +734,10 @@ ptp_unpack_OI (PTPParams *params, unsigned char* data, PTPObjectInfo *oi, unsign
/* Stupid Samsung Galaxy developers emit a 64bit objectcompressedsize */
if ((data[PTP_oi_filenamelen] == 0) && (data[PTP_oi_filenamelen+4] != 0)) {
+ ptp_debug (params, "objectsize 64bit detected!");
params->ocs64 = 1;
data += 4;
+ len -= 4;
}
oi->ThumbFormat=dtoh16a(&data[PTP_oi_ThumbFormat]);
oi->ThumbCompressedSize=dtoh32a(&data[PTP_oi_ThumbCompressedSize]);
@@ -836,9 +874,9 @@ ptp_unpack_DPV (
return 0;
value->str = ptp_unpack_string(params,data,*offset,total,&len);
- *offset += len*2+1;
if (!value->str)
- return 1;
+ return 0;
+ *offset += len*2+1;
break;
}
default:
@@ -879,7 +917,7 @@ ptp_unpack_DPD (PTPParams *params, unsigned char* data, PTPDevicePropDesc *dpd,
values). In both cases Form Flag should be set to 0x00 and FORM is
not present. */
- if (offset==PTP_dpd_FactoryDefaultValue)
+ if (offset + sizeof(uint8_t) > dpdlen)
return 1;
dpd->FormFlag=dtoh8a(&data[offset]);
@@ -897,6 +935,9 @@ ptp_unpack_DPD (PTPParams *params, unsigned char* data, PTPDevicePropDesc *dpd,
case PTP_DPFF_Enumeration: {
int i;
#define N dpd->FORM.Enum.NumberOfValues
+
+ if (offset + sizeof(uint16_t) > dpdlen) goto outofmemory;
+
N = dtoh16a(&data[offset]);
offset+=sizeof(uint16_t);
dpd->FORM.Enum.SupportedValue = malloc(N*sizeof(dpd->FORM.Enum.SupportedValue[0]));
@@ -1096,6 +1137,10 @@ ptp_unpack_OPD (PTPParams *params, unsigned char* data, PTPObjectPropDesc *opd,
unsigned int offset=0, ret;
memset (opd, 0, sizeof(*opd));
+
+ if (opdlen < 5)
+ return 0;
+
opd->ObjectPropertyCode=dtoh16a(&data[PTP_opd_ObjectPropertyCode]);
opd->DataType=dtoh16a(&data[PTP_opd_DataType]);
opd->GetSet=dtoh8a(&data[PTP_opd_GetSet]);
@@ -1104,9 +1149,11 @@ ptp_unpack_OPD (PTPParams *params, unsigned char* data, PTPObjectPropDesc *opd,
ret = ptp_unpack_DPV (params, data, &offset, opdlen, &opd->FactoryDefaultValue, opd->DataType);
if (!ret) goto outofmemory;
+ if (offset + sizeof(uint32_t) > opdlen) goto outofmemory;
opd->GroupCode=dtoh32a(&data[offset]);
offset+=sizeof(uint32_t);
+ if (offset + sizeof(uint8_t) > opdlen) goto outofmemory;
opd->FormFlag=dtoh8a(&data[offset]);
offset+=sizeof(uint8_t);
@@ -1122,8 +1169,11 @@ ptp_unpack_OPD (PTPParams *params, unsigned char* data, PTPObjectPropDesc *opd,
case PTP_OPFF_Enumeration: {
unsigned int i;
#define N opd->FORM.Enum.NumberOfValues
+
+ if (offset + sizeof(uint16_t) > opdlen) goto outofmemory;
N = dtoh16a(&data[offset]);
offset+=sizeof(uint16_t);
+
opd->FORM.Enum.SupportedValue = malloc(N*sizeof(opd->FORM.Enum.SupportedValue[0]));
if (!opd->FORM.Enum.SupportedValue)
goto outofmemory;
@@ -1338,24 +1388,32 @@ _compare_func(const void* x, const void *y) {
static inline int
ptp_unpack_OPL (PTPParams *params, unsigned char* data, MTPProperties **pprops, unsigned int len)
{
- uint32_t prop_count = dtoh32a(data);
+ uint32_t prop_count;
MTPProperties *props = NULL;
unsigned int offset = 0, i;
+ if (len < sizeof(uint32_t)) {
+ ptp_debug (params ,"must have at least 4 bytes data, not %d", len);
+ return 0;
+ }
+
+ prop_count = dtoh32a(data);
*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);
+
data += sizeof(uint32_t);
len -= sizeof(uint32_t);
props = malloc(prop_count * sizeof(MTPProperties));
if (!props) return 0;
for (i = 0; i < prop_count; i++) {
- if (len <= 0) {
+ if (len <= (sizeof(uint32_t) + sizeof(uint16_t) + sizeof(uint16_t))) {
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");
ptp_debug (params ,"or even DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST", i);
@@ -1363,6 +1421,8 @@ ptp_unpack_OPL (PTPParams *params, unsigned char* data, MTPProperties **pprops,
*pprops = props;
return i;
}
+
+
props[i].ObjectHandle = dtoh32a(data);
data += sizeof(uint32_t);
len -= sizeof(uint32_t);
@@ -1528,10 +1588,12 @@ ObjectInfo for 'IMG_0199.JPG':
#define PTP_cefe_Time 48
static inline void
-ptp_unpack_Canon_EOS_FE (PTPParams *params, unsigned char* data, PTPCANONFolderEntry *fe)
+ptp_unpack_Canon_EOS_FE (PTPParams *params, unsigned char* data, unsigned int size, PTPCANONFolderEntry *fe)
{
int i;
+ if (size < PTP_cefe_Time + 4) return;
+
fe->ObjectHandle=dtoh32a(&data[PTP_cefe_ObjectHandle]);
fe->ObjectFormatCode=dtoh16a(&data[PTP_cefe_ObjectFormatCode]);
fe->Flags=dtoh8a(&data[PTP_cefe_Flags]);
@@ -1539,6 +1601,7 @@ ptp_unpack_Canon_EOS_FE (PTPParams *params, unsigned char* data, PTPCANONFolderE
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];
+ fe->Filename[PTP_CANON_FilenameBufferLen-1] = 0;
}
@@ -1677,6 +1740,13 @@ ptp_unpack_EOS_FocusInfoEx (PTPParams* params, unsigned char** data, uint32_t da
if ((size >= datasize) || (size < 20))
return strdup("bad size 1");
+ /* If data is zero-filled, then it is just a placeholder, so nothing
+ useful, but also not an error */
+ if (!focus_points_in_struct || !focus_points_in_use) {
+ ptp_debug(params, "skipped FocusInfoEx data (zero filled)");
+ return strdup("no focus points returned by camera");
+ }
+
/* 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
@@ -1914,21 +1984,34 @@ ptp_unpack_CANON_changes (PTPParams *params, unsigned char* data, int datasize,
ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN;
ce[i].u.info = NULL;
switch (type) {
+ case PTP_EC_CANON_EOS_ObjectContentChanged:
+ if (size < PTP_ece_OA_ObjectID+1) {
+ ptp_debug (params, "size %d is smaller than %d", size, PTP_ece_OA_ObjectID+1);
+ break;
+ }
+ ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_OBJECTCONTENT_CHANGE;
+ ce[i].u.object.oid = dtoh32a(&curdata[PTP_ece_OA_ObjectID]);
+ break;
+ case PTP_EC_CANON_EOS_ObjectInfoChangedEx:
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].type = ((type == PTP_EC_CANON_EOS_ObjectAddedEx) ? PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO : PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO_CHANGE);
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 (type == PTP_EC_CANON_EOS_ObjectAddedEx) {
+ 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);
+ } else {
+ ptp_debug (params, "event %d: objectinfo changed 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 */
+ case PTP_EC_CANON_EOS_ObjectAddedEx64: /* 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;
@@ -1943,7 +2026,7 @@ ptp_unpack_CANON_changes (PTPParams *params, unsigned char* data, int datasize,
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 */
+ case PTP_EC_CANON_EOS_RequestObjectTransfer64:
if (size < PTP_ece_OI_Name+1) {
ptp_debug (params, "size %d is smaller than %d", size, PTP_ece_OI_Name+1);
break;
@@ -2030,9 +2113,11 @@ ptp_unpack_CANON_changes (PTPParams *params, unsigned char* data, int datasize,
break;
case PTP_DTC_INT16: XX( i16, dtoh16a );
- case PTP_DTC_UINT32: XX( u32, dtoh32a );
case PTP_DTC_UINT16: XX( u16, dtoh16a );
+ case PTP_DTC_UINT32: XX( u32, dtoh32a );
+ case PTP_DTC_INT32: XX( i32, dtoh32a );
case PTP_DTC_UINT8: XX( u8, dtoh8a );
+ case PTP_DTC_INT8: XX( i8, dtoh8a );
#undef XX
default:
free (dpd->FORM.Enum.SupportedValue);
@@ -2141,6 +2226,7 @@ ptp_unpack_CANON_changes (PTPParams *params, unsigned char* data, int datasize,
case PTP_DPC_CANON_EOS_AFSelectFocusArea:
case PTP_DPC_CANON_EOS_ContinousAFMode:
case PTP_DPC_CANON_EOS_MirrorUpSetting:
+ case PTP_DPC_CANON_EOS_OLCInfoVersion:
dpd->DataType = PTP_DTC_UINT32;
break;
/* enumeration for AEM is never provided, but is available to set */
@@ -2165,6 +2251,8 @@ ptp_unpack_CANON_changes (PTPParams *params, unsigned char* data, int datasize,
case PTP_DPC_CANON_EOS_EVFOutputDevice:
case PTP_DPC_CANON_EOS_AutoPowerOff:
case PTP_DPC_CANON_EOS_EVFRecordStatus:
+ case PTP_DPC_CANON_EOS_HighISOSettingNoiseReduction:
+ case PTP_DPC_CANON_EOS_MultiAspect: /* actually a 32bit value, but lets try it for easyness */
dpd->DataType = PTP_DTC_UINT16;
break;
case PTP_DPC_CANON_EOS_PictureStyle:
@@ -2182,7 +2270,7 @@ ptp_unpack_CANON_changes (PTPParams *params, unsigned char* data, int datasize,
break;
case PTP_DPC_CANON_EOS_WhiteBalanceAdjustA:
case PTP_DPC_CANON_EOS_WhiteBalanceAdjustB:
- dpd->DataType = PTP_DTC_INT16;
+ dpd->DataType = PTP_DTC_INT32;
break;
/* unknown props, listed from dump.... all 16 bit, but vals might be smaller */
case PTP_DPC_CANON_EOS_DPOFVersion:
@@ -2327,10 +2415,27 @@ ptp_unpack_CANON_changes (PTPParams *params, unsigned char* data, int datasize,
break;
}
/* one more information record handed to us */
+ /* Versions seen: (d199)
+ * 100D: 7 (original reference)
+ * 5d Mark 3: 7
+ * 650D: 7
+ * 6D: 7
+ * M10: 8
+ * 70D: 8
+ * 5Dsr: b
+ * 200D: f
+ */
case PTP_EC_CANON_EOS_OLCInfoChanged: {
uint32_t len, curoff;
uint16_t mask,proptype;
PTPDevicePropDesc *dpd;
+ int olcver = 0;
+
+ dpd = _lookup_or_allocate_canon_prop(params, PTP_DPC_CANON_EOS_OLCInfoVersion);
+ if (dpd) {
+ ptp_debug (params, "olcinfoversion is %d", dpd->CurrentValue.u32);
+ olcver = dpd->CurrentValue.u32;
+ }
/* unclear what OLC stands for */
ptp_debug (params, "event %d: EOS event OLCInfoChanged (size %d)", i, size);
@@ -2359,35 +2464,58 @@ ptp_unpack_CANON_changes (PTPParams *params, unsigned char* data, int datasize,
ce[i].u.info = malloc(strlen("Button 1234567"));
sprintf(ce[i].u.info, "Button %d", dtoh16a(curdata+curoff));
i++;
- curoff += 2;
+ curoff += 2; /* 7, 8 , f */
}
if (mask & CANON_EOS_OLC_SHUTTERSPEED) {
/* 6 bytes: 01 01 98 10 00 60 */
/* this seesm to be the shutter speed record */
+ /* EOS 200D seems to have 7 bytes here, sample:
+ * 7 bytes: 01 03 98 10 00 70 00
+ */
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;
+ /* hack to differ between older EOS and EOS 200D newer */
+ switch (olcver) {
+ case 0x8:
+ case 0xf:
+ curoff += 7; /* f (200D), 8 (M10) */
+ break;
+ case 0x7:
+ case 0xb:
+ curoff += 6; /* 7 , b (5ds) */
+ break;
+ default:
+ curoff += 6;
+ break;
+ }
i++;
}
if (mask & CANON_EOS_OLC_APERTURE) {
/* 5 bytes: 01 01 5b 30 30 */
/* this seesm to be the aperture record */
+ /* EOS 200D seems to have 6 bytes here?
+ * 6 bytes: 01 01 50 20 20 00 *
+ */
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;
+ if (olcver >= 0xf) {
+ curoff += 6; /* f */
+ } else {
+ curoff += 5; /* 7, 8, b */
+ }
i++;
}
if (mask & CANON_EOS_OLC_ISO) {
- /* 5 bytes: 01 01 00 78 */
+ /* 4 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);
@@ -2395,7 +2523,7 @@ ptp_unpack_CANON_changes (PTPParams *params, unsigned char* data, int datasize,
ce[i].type = PTP_CANON_EOS_CHANGES_TYPE_PROPERTY;
ce[i].u.propid = proptype;
- curoff += 4;
+ curoff += 4; /* 7, 8, b, f*/
i++;
}
if (mask & 0x0010) {
@@ -2412,7 +2540,10 @@ ptp_unpack_CANON_changes (PTPParams *params, unsigned char* data, int datasize,
i++;
}
if (mask & 0x0020) {
- /* mask 0x0020: 6 bytes, 00 00 00 00 00 00 observed */
+ /* mask 0x0020: 6 bytes, 00 00 00 00 00 00 observed.
+ * This seems to be the self-timer record: when active,
+ * has the form of 00 00 01 00 XX XX, where the last two bytes
+ * stand for the number of seconds remaining until the shot */
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",
@@ -2822,3 +2953,92 @@ ptp_unpack_canon_directory (
#undef ISOBJECT
return PTP_RC_OK;
}
+
+static inline int
+ptp_unpack_ptp11_manifest (
+ PTPParams *params,
+ unsigned char *data,
+ unsigned int datalen,
+ uint64_t *numoifs,
+ PTPObjectFilesystemInfo **oifs
+) {
+ uint64_t numberoifs, i;
+ unsigned int curoffset;
+ PTPObjectFilesystemInfo *xoifs;
+
+ if (datalen < 8)
+ return 0;
+ numberoifs = dtoh64ap(params,data);
+ curoffset = 8;
+ xoifs = calloc(sizeof(PTPObjectFilesystemInfo),numberoifs);
+ if (!xoifs)
+ return 0;
+
+ for (i = 0; i < numberoifs; i++) {
+ uint8_t len,dlen;
+ char *modify_date;
+ PTPObjectFilesystemInfo *oif = xoifs+i;
+
+ if (curoffset + 34 + 2 > datalen)
+ goto tooshort;
+
+ oif->ObjectHandle = dtoh32ap(params,data+curoffset);
+ oif->StorageID = dtoh32ap(params,data+curoffset+4);
+ oif->ObjectFormat = dtoh16ap(params,data+curoffset+8);
+ oif->ProtectionStatus = dtoh16ap(params,data+curoffset+10);
+ oif->ObjectCompressedSize64 = dtoh64ap(params,data+curoffset+12);
+ oif->ParentObject = dtoh32ap(params,data+curoffset+20);
+ oif->AssociationType = dtoh16ap(params,data+curoffset+24);
+ oif->AssociationDesc = dtoh32ap(params,data+curoffset+26);
+ oif->SequenceNumber = dtoh32ap(params,data+curoffset+30);
+ oif->Filename = ptp_unpack_string(params, data, curoffset+34, datalen, &len);
+ if (curoffset+34+len*2+1 > datalen)
+ goto tooshort;
+ modify_date = ptp_unpack_string(params, data, curoffset+len*2+1+34, datalen, &dlen);
+ oif->ModificationDate = ptp_unpack_PTPTIME(modify_date);
+ free(modify_date);
+ curoffset += 34+len*2+dlen*2+2;
+ }
+ *numoifs = numberoifs;
+ *oifs = xoifs;
+ return 1;
+tooshort:
+ for (i = 0; i < numberoifs; i++)
+ if (xoifs[i].Filename) free (xoifs[i].Filename);
+ free (xoifs);
+ return 0;
+}
+
+static inline void
+ptp_unpack_chdk_lv_data_header (PTPParams *params, unsigned char* data, lv_data_header *header)
+{
+ int off = 0;
+ if (data==NULL)
+ return;
+ header->version_major = dtoh32a(&data[off]);
+ header->version_minor = dtoh32a(&data[off+=4]);
+ header->lcd_aspect_ratio = dtoh32a(&data[off+=4]);
+ header->palette_type = dtoh32a(&data[off+=4]);
+ header->palette_data_start = dtoh32a(&data[off+=4]);
+ header->vp_desc_start = dtoh32a(&data[off+=4]);
+ header->bm_desc_start = dtoh32a(&data[off+=4]);
+ if (header->version_minor > 1)
+ header->bmo_desc_start = dtoh32a(&data[off+=4]);
+}
+
+static inline void
+ptp_unpack_chdk_lv_framebuffer_desc (PTPParams *params, unsigned char* data, lv_framebuffer_desc *fd)
+{
+ int off = 0;
+ if (data==NULL)
+ return;
+ fd->fb_type = dtoh32a(&data[off]);
+ fd->data_start = dtoh32a(&data[off+=4]);
+ fd->buffer_width = dtoh32a(&data[off+=4]);
+ fd->visible_width = dtoh32a(&data[off+=4]);
+ fd->visible_height = dtoh32a(&data[off+=4]);
+ fd->margin_left = dtoh32a(&data[off+=4]);
+ fd->margin_top = dtoh32a(&data[off+=4]);
+ fd->margin_right = dtoh32a(&data[off+=4]);
+ fd->margin_bot = dtoh32a(&data[off+=4]);
+}
diff --git a/src/ptp.c b/src/ptp.c
index 536160d..d66c8f2 100644
--- a/src/ptp.c
+++ b/src/ptp.c
@@ -1,7 +1,7 @@
/* ptp.c
*
* Copyright (C) 2001-2004 Mariusz Woloszyn <emsi@ipartners.pl>
- * Copyright (C) 2003-2017 Marcus Meissner <marcus@jet.franken.de>
+ * Copyright (C) 2003-2018 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>
@@ -170,6 +170,7 @@ ptp_transaction_new (PTPParams* params, PTPContainer* ptp,
ptp->SessionID=params->session_id;
/* send request */
CHECK_PTP_RC(params->sendreq_func (params, ptp, flags));
+
/* is there a dataphase? */
switch (flags&PTP_DP_DATA_MASK) {
case PTP_DP_SENDDATA:
@@ -182,10 +183,7 @@ ptp_transaction_new (PTPParams* params, PTPContainer* ptp,
break;
case PTP_DP_GETDATA:
{
- 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);
+ CHECK_PTP_RC(params->getdata_func(params, ptp, handler));
}
break;
case PTP_DP_NODATA:
@@ -463,7 +461,7 @@ uint16_t
ptp_getdeviceinfo (PTPParams* params, PTPDeviceInfo* deviceinfo)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
int ret;
@@ -481,7 +479,7 @@ uint16_t
ptp_canon_eos_getdeviceinfo (PTPParams* params, PTPCanonEOSDeviceInfo*di)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
int ret;
@@ -843,7 +841,228 @@ parse_9301_tree (PTPParams *params, xmlNodePtr node, PTPDeviceInfo *di)
/*traverse_tree (0, node);*/
return PTP_RC_OK;
}
+#endif
+
+uint16_t
+ptp_olympus_omd_capture (PTPParams* params)
+{
+ PTPContainer ptp;
+ uint16_t ret;
+ unsigned int size = 0;
+ unsigned char *buffer = NULL;
+
+/* these two trigger the capture ... one might be "shutter down", the other "shutter up"? */
+ PTP_CNT_INIT(ptp, PTP_OC_OLYMPUS_OMD_Capture, 0x3); // initiate capture
+ ret = ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
+ PTP_CNT_INIT(ptp, PTP_OC_OLYMPUS_OMD_Capture, 0x6); // initiate capture
+ ret = ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
+
+ usleep(500);
+
+/* this only fetches changed props */
+ PTP_CNT_INIT(ptp, 0x9486); /* query changed properties */
+ ret = ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &buffer, &size);
+ free (buffer);
+ return ret;
+}
+
+uint16_t
+ptp_panasonic_liveview_image (PTPParams* params, unsigned char **data, unsigned int *size)
+{
+ PTPContainer ptp;
+
+ PTP_CNT_INIT(ptp, PTP_OC_PANASONIC_LiveviewImage);
+ return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
+}
+
+uint16_t
+ptp_olympus_init_pc_mode (PTPParams* params)
+{
+ uint16_t ret;
+ PTPPropertyValue propval;
+ PTPContainer event;
+ int i;
+
+ ptp_debug (params,"PTP: (Olympus Init) switching to PC mode...");
+
+ propval.u16 = 1;
+ ret = ptp_setdevicepropvalue (params, 0xD052, &propval, PTP_DTC_UINT16);
+ usleep(100000);
+
+ for(i = 0; i < 2; i++) {
+ ptp_debug (params,"PTP: (Olympus Init) checking events...");
+ /* Just busy loop until the camera is ready again. */
+ ptp_check_event (params);
+ if (ptp_get_one_event(params, &event)) break;
+ usleep(100000);
+ }
+
+/*
+ * 9489 code: sends a list of PTP device properties supported apparently? on E-M1.
+ * F4 00 00 00 count
+02 D0 03 D0 04 D0 05 D0 06 D0 07 D0 08 D0 09 D0 0C D0 0D D0 0E D0 0F D0 10 D0 11 D0 13 D0 14 D0 18 D0 1A D0 1B D0 1C D0 1D D0 1E D0 1F D0 20 D0 21 D0 22 D0 23 D0 24 D0 25 D0 26 D0 27 D0 28 D0 29 D0 2A D0 2B D0 2C D0 2D D0 2E D0 2F D0 30 D0 31 D0 32 D0 33 D0 34 D0 35 D0 36 D0 37 D0 38 D0 39 D0 3A D0 3B D0 3C D0 3D D0 3E D0 3F D0 40 D0 41 D0 42 D0 43 D0 44 D0 45 D0 46 D0 47 D0 48 D0 49 D0 4A D0 4B D0 4C D0 4D D0 4E D0 4F D0 50 D0 51 D0 52 D0 58 D0 59 D0 5F D0 60 D0 61 D0 62 D0 64 D0 65 D0 66 D0 68 D0 69 D0 70 D0 73 D0 67 D0 5A D0 5B D0 63 D0 6A D0 6B D0 6C D0 71 D0 72 D0 7A D0 7B D0 7C D0 7D D0 7F D0 80 D0 81 D0 82 D0 86 D0 87 D0 8B D0 8C D0 8E D0 8F D0 97 D0 9F D0 C4 D0 C5 D0 A2 D0 A3 D0 A4 D0 A6 D0 A7 D0 A8 D0 A9 D0 AA D0 AB D0 AC D0 AD D0 AE D0 B2 D0 B3 D0 B4 D0 B5 D0 B6 D0 B7 D0 B8 D0 B9 D0 BA D0 BC D0 BD D0 BE D0 BF D0 C0 D0 C6 D0 C7 D0 C8 D0 C9 D0 CB D0 CC D0 CD D0 CE D0 CF D0 D0 D0 D1 D0 D2 D0 D3 D0 D4 D0 D5 D0 D6 D0 D7 D0 D8 D0 D9 D0 DA D0 DB D0 DC D0 DD D0 DE D0 E2 D0 E3 D0 E4 D0 E5 D0 E6 D0 E7 D0 E8 D0 E9 D0 EA D0 EC D0 EF D0 F0 D0 F1 D0 F2 D0 F3 D0 F4 D0 F5 D0 F6 D0 F7 D0 F8 D0 F9 D0 FA D0 FB D0 FC D0 FD D0 FE D0 FF D0 00 D1 01 D1 02 D1 03 D1 04 D1 05 D1 06 D1 07 D1 08 D1 09 D1 0A D1 0B D1 0C D1 0D D1 0E D1 0F D1 10 D1 11 D1 12 D1 13 D1 14 D1 15 D1 16 D1 17 D1 18 D1 19 D1 1A D1 1B D1 1C D1 1D D1 1E D1 1F D1 20 D1 51 D1 52 D1 5A D1 24 D1 25 D1 26 D1 27 D1 28 D1 2D D1 2E D1 2F D1 30 D1 31 D1 34 D1 35 D1 36 D1 37 D1 38 D1 39 D1 3A D1
+ *
+ * 9486: queries something. gets 00 00 00 00 ... or list of devicepropdesc in standard ptp propdesc format.
+ * could be some form of "properties changed" query perhaps? (32bit count in front)
+ * might only monitor/return properties set by 9489?
+ *
+ * 948a: seems also be some kind of polling function, returns 32bit 0 if nothing is there. similar to above?
+ * returns properties sent by 94b8.
+ *
+ * 948b: also sends a list of ptp devprops:
+ * 11 00 00 00 53 D0 54 D0 55 D0 56 D0 57 D0 6D D0 5C D0 5D D0 5E D0 74 D0 75 D0 83 D0 84 D0 85 D0 ED D0 79 D0 E1 D0
+ * Events: c008: 21 D1 00 00 0F 00 00 00 01 00 00 00
+ */
+ //ptp_debug (params,"PTP: (Olympus Init) getting response...");
+ //gp_port_set_timeout (camera->port, timeout);
+ //ret=ptp_transaction(params, &ptp, PTP_DP_RESPONSEONLY, size, &data, NULL);
+ //if(data) free(data);
+ return ret;
+}
+
+uint16_t
+ptp_olympus_liveview_image (PTPParams* params, unsigned char **data, unsigned int *size)
+{
+ PTPContainer ptp;
+ uint32_t param1 = 1;
+
+ PTP_CNT_INIT(ptp, PTP_OC_OLYMPUS_GetLiveViewImage, param1);
+ return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
+}
+
+uint16_t
+ptp_olympus_sdram_image (PTPParams* params, unsigned char **data, unsigned int *size)
+{
+ PTPContainer ptp;
+
+ PTP_CNT_INIT(ptp, PTP_OC_OLYMPUS_OMD_GetImage);
+ return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, size);
+}
+
+uint16_t
+ptp_panasonic_setdeviceproperty (PTPParams* params, uint32_t propcode,
+ unsigned char *value, uint16_t valuesize)
+{
+ PTPContainer ptp;
+ uint16_t ret;
+ unsigned char *data;
+ uint32_t size = 4 + 4 + valuesize;
+
+ data = calloc(size, sizeof(unsigned char));
+
+ htod32a(data, propcode); /* memcpy(data, &propcode, 4); */
+ htod16a(&data[4], valuesize); /* memcpy(&data[4], &valuesize, 2); */
+
+ memcpy(&data[8], value, valuesize); /* perhaps check if one of the DPV packagers work? */
+
+ PTP_CNT_INIT(ptp, PTP_OC_PANASONIC_SetProperty, propcode);
+ ret = ptp_transaction(params, &ptp, PTP_DP_SENDDATA, size, &data, NULL);
+ free(data);
+ return ret;
+}
+
+uint16_t
+ptp_panasonic_getdevicepropertysize (PTPParams *params, uint32_t propcode)
+{
+ PTPContainer ptp;
+ unsigned char *data = NULL;
+ unsigned int size = 0;
+
+ PTP_CNT_INIT(ptp, PTP_OC_PANASONIC_9107, propcode, 0, 0);
+ CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+ if (!data) return PTP_RC_GeneralError;
+
+ if (size < 4) return PTP_RC_GeneralError;
+ uint32_t headerLength = dtoh32a( (data) + 4 );
+ if (size < 4 + 6 * 4) return PTP_RC_GeneralError;
+ uint32_t propertyCode = dtoh32a( (data) + 4 + 6 * 4 );
+ if (size < headerLength * 4 + 2 * 4) return PTP_RC_GeneralError;
+
+ ptp_debug(params, "header: %lu, code: %lu\n", headerLength, propertyCode);
+
+ return PTP_RC_OK;
+}
+
+uint16_t
+ptp_panasonic_getdevicepropertydesc (PTPParams *params, uint32_t propcode, uint16_t valuesize, uint32_t *currentValue, uint32_t **propertyValueList, uint32_t *propertyValueListLength)
+{
+ PTPContainer ptp;
+ unsigned char *data = NULL;
+ unsigned int size = 0;
+ uint16_t ret = 0;
+
+ PTP_CNT_INIT(ptp, PTP_OC_PANASONIC_ListProperty, propcode, 0, 0);
+ CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+ if (!data) return PTP_RC_GeneralError;
+
+ if (size < 4) return PTP_RC_GeneralError;
+ uint32_t headerLength = dtoh32a( (data) + 4 );
+ if (size < 4 + 6 * 4) return PTP_RC_GeneralError;
+ uint32_t propertyCode = dtoh32a( (data) + 4 + 6 * 4 );
+ if (size < headerLength * 4 + 2 * 4) return PTP_RC_GeneralError;
+
+ if(valuesize == 2) {
+ *currentValue = (uint32_t) dtoh16a( (data) + headerLength * 4 + 2 * 4 );
+ } else if(valuesize == 4) {
+ *currentValue = dtoh32a( (data) + headerLength * 4 + 2 * 4 );
+ } else {
+ return PTP_RC_GeneralError;
+ }
+ if (size < headerLength * 4 + 2 * 4 + valuesize) return PTP_RC_GeneralError;
+ *propertyValueListLength = dtoh32a( (data) + headerLength * 4 + 2 * 4 + valuesize);
+
+ ptp_debug(params, "header: %lu, code: 0x%lx, value: %lu, count: %lu", headerLength, propertyCode, *currentValue, *propertyValueListLength);
+
+ if (size < headerLength * 4 + 3 * 4 + valuesize + (*propertyValueListLength) * valuesize) return PTP_RC_GeneralError;
+
+ *propertyValueList = calloc(*propertyValueListLength, sizeof(uint32_t));
+
+ uint16_t i;
+ for(i = 0; i < *propertyValueListLength; i++) {
+ if(valuesize == 2) {
+ (*propertyValueList)[i] = (uint32_t) dtoh16a( (data) + headerLength * 4 + 3 * 4 + valuesize + i * valuesize);
+ } else if(valuesize == 4) {
+ (*propertyValueList)[i] = dtoh32a( (data) + headerLength * 4 + 3 * 4 + valuesize + i * valuesize);
+ }
+ //printf("Property: %lu\n", (*propertyValueList)[i]);
+ }
+
+ free (data);
+ return ret;
+}
+
+
+uint16_t
+ptp_panasonic_getdeviceproperty (PTPParams *params, uint32_t propcode, uint16_t *valuesize, uint32_t *currentValue)
+{
+ PTPContainer ptp;
+ unsigned char *data = NULL;
+ unsigned int size = 0;
+ uint16_t ret = PTP_RC_OK;
+
+ PTP_CNT_INIT(ptp, PTP_OC_PANASONIC_GetProperty, propcode);
+ CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+ if (!data) return PTP_RC_GeneralError;
+
+ if(size < 8) return PTP_RC_GeneralError;
+ *valuesize = dtoh32a( (data + 4) );
+
+ if(size < 8 + (*valuesize)) return PTP_RC_GeneralError;
+ if(*valuesize == 4) {
+ *currentValue = dtoh32a( (data + 8) );
+ } else if(*valuesize == 2) {
+ *currentValue = (uint32_t) dtoh16a( (data + 8) );
+ } else {
+ return PTP_RC_GeneralError;
+ }
+ //printf("ptp_panasonic_getdeviceproperty: size: %lu, valuesize: %d, currentValue: %lu\n", size, *valuesize, *currentValue);
+
+ free (data);
+ return ret;
+}
+
+#ifdef HAVE_LIBXML2
static uint16_t
ptp_olympus_parse_output_xml(PTPParams* params, char*data, int len, xmlNodePtr *code)
{
@@ -916,7 +1135,7 @@ ptp_olympus_getdeviceinfo (PTPParams* params, PTPDeviceInfo *di)
#ifdef HAVE_LIBXML2
PTPContainer ptp;
uint16_t ret;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
xmlNodePtr code;
@@ -1156,7 +1375,7 @@ uint16_t
ptp_getstorageids (PTPParams* params, PTPStorageIDs* storageids)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
PTP_CNT_INIT(ptp, PTP_OC_GetStorageIDs);
@@ -1181,7 +1400,7 @@ ptp_getstorageinfo (PTPParams* params, uint32_t storageid,
PTPStorageInfo* storageinfo)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
PTP_CNT_INIT(ptp, PTP_OC_GetStorageInfo, storageid);
@@ -1218,7 +1437,7 @@ ptp_getobjecthandles (PTPParams* params, uint32_t storage,
{
PTPContainer ptp;
uint16_t ret;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
objecthandles->Handler = NULL;
@@ -1247,13 +1466,19 @@ ptp_getobjecthandles (PTPParams* params, uint32_t storage,
uint16_t
ptp_getfilesystemmanifest (PTPParams* params, uint32_t storage,
- uint32_t objectformatcode, uint32_t associationOH,
- unsigned char** data)
-{
- PTPContainer ptp;
+ uint32_t objectformatcode, uint32_t associationOH,
+ uint64_t *numoifs, PTPObjectFilesystemInfo **oifs
+) {
+ PTPContainer ptp;
+ unsigned int size = 0;
+ unsigned char *data = NULL;
+ *oifs = NULL;
+ *numoifs = 0;
PTP_CNT_INIT(ptp, PTP_OC_GetFilesystemManifest, storage, objectformatcode, associationOH);
- return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, NULL);
+ CHECK_PTP_RC (ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+ ptp_unpack_ptp11_manifest (params, data, size, numoifs, oifs);
+ return PTP_RC_OK;
}
/**
@@ -1365,7 +1590,7 @@ ptp_getobjectinfo (PTPParams* params, uint32_t handle,
PTPObjectInfo* objectinfo)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
PTP_CNT_INIT(ptp, PTP_OC_GetObjectInfo, handle);
@@ -1552,6 +1777,53 @@ ptp_deleteobject (PTPParams* params, uint32_t handle, uint32_t ofc)
}
/**
+ * ptp_moveobject:
+ * params: PTPParams*
+ * handle - source ObjectHandle
+ * storage - destination StorageID
+ * parent - destination parent ObjectHandle
+ *
+ * Move an object to a new location under the specified parent.
+ * Note that unlike most calls, 0 must be passed for the parent if the destination
+ * is the Storage root.
+ *
+ * Return values: Some PTP_RC_* code.
+ **/
+uint16_t
+ptp_moveobject (PTPParams* params, uint32_t handle, uint32_t storage, uint32_t parent)
+{
+ PTPContainer ptp;
+
+ PTP_CNT_INIT(ptp, PTP_OC_MoveObject, handle, storage, parent);
+ 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;
+}
+
+/**
+ * ptp_copyobject:
+ * params: PTPParams*
+ * handle - source ObjectHandle
+ * storage - destination StorageID
+ * parent - destination parent ObjectHandle
+ *
+ * Copy an object to a new location under the specified parent.
+ * Note that unlike most calls, 0 must be passed for the parent if the destination
+ * is the Storage root.
+ *
+ * Return values: Some PTP_RC_* code.
+ **/
+uint16_t
+ptp_copyobject (PTPParams* params, uint32_t handle, uint32_t storage, uint32_t parent)
+{
+ PTPContainer ptp;
+
+ PTP_CNT_INIT(ptp, PTP_OC_CopyObject, handle, storage, parent);
+ return ptp_transaction(params, &ptp, PTP_DP_NODATA, 0, NULL, NULL);
+}
+
+/**
* ptp_sendobjectinfo:
* params: PTPParams*
* uint32_t* store - destination StorageID on Responder
@@ -1663,7 +1935,7 @@ ptp_getdevicepropdesc (PTPParams* params, uint16_t propcode,
{
PTPContainer ptp;
uint16_t ret = PTP_RC_OK;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
PTP_CNT_INIT(ptp, PTP_OC_GetDevicePropDesc, propcode);
@@ -1711,7 +1983,7 @@ ptp_getdevicepropvalue (PTPParams* params, uint16_t propcode,
PTPPropertyValue* value, uint16_t datatype)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size, offset = 0;
uint16_t ret;
@@ -1997,7 +2269,7 @@ ptp_canon_get_directory (PTPParams* params,
uint32_t **flags /* size(handles->n) */
) {
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
uint16_t ret;
PTP_CNT_INIT(ptp, PTP_OC_CANON_GetDirectory);
@@ -2068,7 +2340,7 @@ ptp_canon_gettreesize (PTPParams* params,
{
PTPContainer ptp;
uint16_t ret = PTP_RC_OK;
- unsigned char *data, *cur;
+ unsigned char *data = NULL, *cur;
unsigned int size, i;
PTP_CNT_INIT(ptp, PTP_OC_CANON_GetTreeSize);
@@ -2114,7 +2386,7 @@ uint16_t
ptp_canon_checkevent (PTPParams* params, PTPContainer* event, int* isevent)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
PTP_CNT_INIT(ptp, PTP_OC_CANON_CheckEvent);
@@ -2137,6 +2409,304 @@ ptp_add_event (PTPParams *params, PTPContainer *evt)
return PTP_RC_OK;
}
+/* CANON EOS fast directory mode */
+/* FIXME: incomplete ... needs storage mode retrieval support too (storage == 0xffffffff) */
+static uint16_t
+ptp_list_folder_eos (PTPParams *params, uint32_t storage, uint32_t handle) {
+ unsigned int k, i, j, last, changed;
+ PTPCANONFolderEntry *tmp = NULL;
+ unsigned int nroftmp = 0;
+ uint16_t ret;
+ PTPStorageIDs storageids;
+ PTPObject *ob;
+
+ if ((handle != 0xffffffff) && (handle != 0)) {
+ ret = ptp_object_want (params, handle, PTPOBJECT_OBJECTINFO_LOADED, &ob);
+ if ((ret == PTP_RC_OK) && (ob->flags & PTPOBJECT_DIRECTORY_LOADED))
+ return PTP_RC_OK;
+ }
+
+ if (storage == 0xffffffff) {
+ if (handle != 0xffffffff)
+ handle = 0xffffffff;
+ ret = ptp_getstorageids(params, &storageids);
+ if (ret != PTP_RC_OK)
+ return ret;
+ } else {
+ storageids.n = 1;
+ storageids.Storage = malloc(sizeof(storageids.Storage[0]));
+ storageids.Storage[0] = storage;
+ }
+ last = changed = 0;
+
+ for (k=0;k<storageids.n;k++) {
+ if ((storageids.Storage[k] & 0xffff) == 0) {
+ ptp_debug (params, "reading directory, storage 0x%08x skipped (invalid)", storageids.Storage[k]);
+ continue;
+ }
+ ptp_debug (params, "reading handle %08x directory of 0x%08x", storageids.Storage[k], handle);
+ tmp = NULL;
+ ret = ptp_canon_eos_getobjectinfoex (
+ params, storageids.Storage[k], handle ? handle : 0xffffffff, 0x100000, &tmp, &nroftmp);
+ if (ret != PTP_RC_OK) {
+ ptp_error (params, "error 0x%04x", ret);
+ free (storageids.Storage);
+ return ret;
+ }
+ /* convert read entries into objectinfos */
+ for (i=0;i<nroftmp;i++) {
+ PTPObject *newobs;
+
+ ob = NULL;
+ for (j=0;j<params->nrofobjects;j++) {
+ if (params->objects[(last+j)%params->nrofobjects].oid == tmp[i].ObjectHandle) {
+ ob = &params->objects[(last+j)%params->nrofobjects];
+ break;
+ }
+ }
+ if (j == params->nrofobjects) {
+ ptp_debug (params, "adding new objectid 0x%08x (nrofobs=%d,j=%d)", tmp[i].ObjectHandle, params->nrofobjects,j);
+ newobs = realloc (params->objects,sizeof(PTPObject)*(params->nrofobjects+1));
+ if (!newobs) {
+ free (tmp);
+ return PTP_RC_GeneralError;
+ }
+ params->objects = newobs;
+ memset (&params->objects[params->nrofobjects],0,sizeof(params->objects[params->nrofobjects]));
+ params->objects[params->nrofobjects].oid = tmp[i].ObjectHandle;
+ params->objects[params->nrofobjects].flags = 0;
+
+ params->objects[params->nrofobjects].oi.StorageID = storageids.Storage[k];
+ params->objects[params->nrofobjects].flags |= PTPOBJECT_STORAGEID_LOADED;
+ if (handle == 0xffffffff)
+ params->objects[params->nrofobjects].oi.ParentObject = 0;
+ else
+ params->objects[params->nrofobjects].oi.ParentObject = handle;
+ params->objects[params->nrofobjects].flags |= PTPOBJECT_PARENTOBJECT_LOADED;
+ params->objects[params->nrofobjects].oi.Filename = strdup(tmp[i].Filename);
+ params->objects[params->nrofobjects].oi.ObjectFormat = tmp[i].ObjectFormatCode;
+
+ ptp_debug (params, " flags %x", tmp[i].Flags);
+ if (tmp[i].Flags & 0x1)
+ params->objects[params->nrofobjects].oi.ProtectionStatus = PTP_PS_ReadOnly;
+ else
+ params->objects[params->nrofobjects].oi.ProtectionStatus = PTP_PS_NoProtection;
+ params->objects[params->nrofobjects].canon_flags = tmp[i].Flags;
+ params->objects[params->nrofobjects].oi.ObjectCompressedSize = tmp[i].ObjectSize;
+ params->objects[params->nrofobjects].oi.CaptureDate = tmp[i].Time;
+ params->objects[params->nrofobjects].oi.ModificationDate = tmp[i].Time;
+ params->objects[params->nrofobjects].flags |= PTPOBJECT_OBJECTINFO_LOADED;
+
+ /*debug_objectinfo(params, tmp[i].ObjectHandle, &params->objects[params->nrofobjects].oi);*/
+ last = params->nrofobjects;
+ params->nrofobjects++;
+ changed = 1;
+ } else {
+ ptp_debug (params, "adding old objectid 0x%08x (nrofobs=%d,j=%d)", tmp[i].ObjectHandle, params->nrofobjects,j);
+ ob = &params->objects[(last+j)%params->nrofobjects];
+ /* for speeding up search */
+ last = (last+j)%params->nrofobjects;
+ if (handle != PTP_HANDLER_SPECIAL) {
+ ob->oi.ParentObject = handle;
+ ob->flags |= PTPOBJECT_PARENTOBJECT_LOADED;
+ }
+ if (storageids.Storage[k] != PTP_HANDLER_SPECIAL) {
+ ob->oi.StorageID = storageids.Storage[k];
+ ob->flags |= PTPOBJECT_STORAGEID_LOADED;
+ }
+ }
+ }
+ free (tmp);
+ }
+ if (changed) ptp_objects_sort (params);
+
+ /* Do not cache ob, it might be reallocated and have a new address */
+ if (handle != 0xffffffff) {
+ ret = ptp_object_want (params, handle, PTPOBJECT_OBJECTINFO_LOADED, &ob);
+ if (ret == PTP_RC_OK)
+ ob->flags |= PTPOBJECT_DIRECTORY_LOADED;
+ }
+ free (storageids.Storage);
+ return PTP_RC_OK;
+}
+
+uint16_t
+ptp_list_folder (PTPParams *params, uint32_t storage, uint32_t handle) {
+ unsigned int i, changed, last;
+ uint16_t ret;
+ uint32_t xhandle = handle;
+ PTPObject *newobs;
+ PTPObjectHandles handles;
+
+ ptp_debug (params, "(storage=0x%08x, handle=0x%08x)", storage, handle);
+ /* handle=0 is only not read when there is no object in the list yet
+ * and we do the initial read. */
+ if (!handle && params->nrofobjects)
+ return PTP_RC_OK;
+ /* but we can override this to read 0 object of storages */
+ if (handle == PTP_HANDLER_SPECIAL)
+ handle = 0;
+
+ /* Canon EOS Fast directory strategy */
+ if ((params->deviceinfo.VendorExtensionID == PTP_VENDOR_CANON) &&
+ ptp_operation_issupported(params, PTP_OC_CANON_EOS_GetObjectInfoEx)) {
+ ret = ptp_list_folder_eos (params, storage, handle);
+ if (ret == PTP_RC_OK)
+ return ret;
+ }
+
+ if (handle) { /* 0 is the virtual root */
+ PTPObject *ob;
+ /* first check if object itself is loaded, and get its objectinfo. */
+ ret = ptp_object_want (params, handle, PTPOBJECT_OBJECTINFO_LOADED, &ob);
+ if (ret != PTP_RC_OK)
+ return ret;
+ if (ob->oi.ObjectFormat != PTP_OFC_Association)
+ return PTP_RC_GeneralError;
+ if (ob->flags & PTPOBJECT_DIRECTORY_LOADED) return PTP_RC_OK;
+ ob->flags |= PTPOBJECT_DIRECTORY_LOADED;
+ /*debug_objectinfo(params, handle, &ob->oi);*/
+ }
+
+ if (ptp_operation_issupported(params, PTP_OC_GetFilesystemManifest)) {
+ uint64_t numoifs = 0;
+ PTPObjectFilesystemInfo *oifs = NULL;
+
+ if (storage == PTP_HANDLER_SPECIAL) storage = 0;
+ ret = ptp_getfilesystemmanifest (params, storage, 0, handle, &numoifs, &oifs);
+ if (ret != PTP_RC_OK || !numoifs)
+ goto fallback;
+
+ last = changed = 0;
+ for (i=0;i<numoifs;i++) {
+ PTPObject *ob;
+ unsigned int j;
+
+ ob = NULL;
+ for (j=0;j<params->nrofobjects;j++) {
+ if (params->objects[(last+j)%params->nrofobjects].oid == oifs[i].ObjectHandle) {
+ ob = &params->objects[(last+j)%params->nrofobjects];
+ break;
+ }
+ }
+ if (j == params->nrofobjects) {
+ ptp_debug (params, "adding new objectid 0x%08x (nrofobs=%d,j=%d)", oifs[i].ObjectHandle, params->nrofobjects,j);
+ newobs = realloc (params->objects,sizeof(PTPObject)*(params->nrofobjects+1));
+ if (!newobs) {
+ free (oifs);
+ return PTP_RC_GeneralError;
+ }
+ params->objects = newobs;
+ memset (&params->objects[params->nrofobjects],0,sizeof(params->objects[params->nrofobjects]));
+ params->objects[params->nrofobjects].oid = oifs[i].ObjectHandle;
+ params->objects[params->nrofobjects].flags = 0;
+ ob = &params->objects[params->nrofobjects];
+ params->nrofobjects++;
+ changed = 1;
+ } else {
+ ptp_debug (params, "adding old objectid 0x%08x (nrofobs=%d,j=%d)", oifs[i].ObjectHandle, params->nrofobjects,j);
+ ob = &params->objects[(last+j)%params->nrofobjects];
+ /* for speeding up search */
+ last = (last+j)%params->nrofobjects;
+ }
+
+ ob->oi.StorageID = oifs[i].StorageID;
+ ob->oi.ObjectFormat = oifs[i].ObjectFormat;
+ ob->oi.ProtectionStatus = oifs[i].ProtectionStatus;
+ ob->oi.ObjectCompressedSize = oifs[i].ObjectCompressedSize64;
+ ob->oi.ParentObject = oifs[i].ParentObject;
+
+ /* bad iOS, returns StorageID instead of 0x0 */
+ if (ob->oi.ParentObject == oifs[i].StorageID) {
+ ptp_debug (params, "objectid 0x%08x aka %s has parent %08x, rewriting to 0", oifs[i].ObjectHandle, oifs[i].Filename, oifs[i].ParentObject);
+ ob->oi.ParentObject = 0;
+ }
+
+ ob->oi.AssociationType = oifs[i].AssociationType;
+ ob->oi.AssociationDesc = oifs[i].AssociationDesc;
+ ob->oi.SequenceNumber = oifs[i].SequenceNumber;
+ ob->oi.Filename = oifs[i].Filename; /* hand over memory ownership */
+ ob->oi.ModificationDate = oifs[i].ModificationDate;
+ /* FIXME: most of it ... but not the image sizes */
+ ob->flags |= PTPOBJECT_OBJECTINFO_LOADED|PTPOBJECT_STORAGEID_LOADED|PTPOBJECT_PARENTOBJECT_LOADED;
+ }
+ free (oifs);
+ if (changed) ptp_objects_sort (params);
+ return PTP_RC_OK;
+ }
+fallback:
+ ptp_debug (params, "Listing ... ");
+ if (handle == 0) xhandle = PTP_HANDLER_SPECIAL; /* 0 would mean all */
+ ret = ptp_getobjecthandles (params, storage, 0, xhandle, &handles);
+ if (ret == PTP_RC_ParameterNotSupported) {/* try without storage */
+ storage = PTP_HANDLER_SPECIAL;
+ ret = ptp_getobjecthandles (params, PTP_HANDLER_SPECIAL, 0, xhandle, &handles);
+ }
+ if (ret == PTP_RC_ParameterNotSupported) { /* fall back to always supported method */
+ xhandle = PTP_HANDLER_SPECIAL;
+ handle = PTP_HANDLER_SPECIAL;
+ ret = ptp_getobjecthandles (params, PTP_HANDLER_SPECIAL, 0, 0, &handles);
+ }
+ if (ret != PTP_RC_OK)
+ return ret;
+ last = changed = 0;
+ for (i=0;i<handles.n;i++) {
+ PTPObject *ob;
+ unsigned int j;
+
+ ob = NULL;
+ for (j=0;j<params->nrofobjects;j++) {
+ if (params->objects[(last+j)%params->nrofobjects].oid == handles.Handler[i]) {
+ ob = &params->objects[(last+j)%params->nrofobjects];
+ break;
+ }
+ }
+ if (j == params->nrofobjects) {
+ ptp_debug (params, "adding new objectid 0x%08x (nrofobs=%d,j=%d)", handles.Handler[i], params->nrofobjects,j);
+ newobs = realloc (params->objects,sizeof(PTPObject)*(params->nrofobjects+1));
+ if (!newobs) return PTP_RC_GeneralError;
+ params->objects = newobs;
+ memset (&params->objects[params->nrofobjects],0,sizeof(params->objects[params->nrofobjects]));
+ params->objects[params->nrofobjects].oid = handles.Handler[i];
+ params->objects[params->nrofobjects].flags = 0;
+ /* root directory list files might return all files, so avoid tagging it */
+ if (handle != PTP_HANDLER_SPECIAL && handle) {
+ ptp_debug (params, " parenthandle 0x%08x", handle);
+ if (handles.Handler[i] == handle) { /* EOS bug where oid == parent(oid) */
+ params->objects[params->nrofobjects].oi.ParentObject = 0;
+ } else {
+ params->objects[params->nrofobjects].oi.ParentObject = handle;
+ }
+ params->objects[params->nrofobjects].flags |= PTPOBJECT_PARENTOBJECT_LOADED;
+ }
+ if (storage != PTP_HANDLER_SPECIAL) {
+ ptp_debug (params, " storage 0x%08x", storage);
+ params->objects[params->nrofobjects].oi.StorageID = storage;
+ params->objects[params->nrofobjects].flags |= PTPOBJECT_STORAGEID_LOADED;
+ }
+ params->nrofobjects++;
+ changed = 1;
+ } else {
+ ptp_debug (params, "adding old objectid 0x%08x (nrofobs=%d,j=%d)", handles.Handler[i], params->nrofobjects,j);
+ ob = &params->objects[(last+j)%params->nrofobjects];
+ /* for speeding up search */
+ last = (last+j)%params->nrofobjects;
+ if (handle != PTP_HANDLER_SPECIAL) {
+ ob->oi.ParentObject = handle;
+ ob->flags |= PTPOBJECT_PARENTOBJECT_LOADED;
+ }
+ if (storage != PTP_HANDLER_SPECIAL) {
+ ob->oi.StorageID = storage;
+ ob->flags |= PTPOBJECT_STORAGEID_LOADED;
+ }
+ }
+ }
+ free (handles.Handler);
+ if (changed) ptp_objects_sort (params);
+ return PTP_RC_OK;
+}
+
+
static void
handle_event_internal (PTPParams *params, PTPContainer *event)
{
@@ -2157,6 +2727,8 @@ handle_event_internal (PTPParams *params, PTPContainer *event)
case PTP_EC_StoreRemoved: {
int i;
+ /* FIXME: if we just remove 1 out of many storages, we do not need to invalidate/reload the entire tree? */
+
/* refetch storage IDs and also invalidate whole object tree */
free (params->storageids.Storage);
params->storageids.Storage = NULL;
@@ -2172,6 +2744,20 @@ handle_event_internal (PTPParams *params, PTPContainer *event)
params->nrofobjects = 0;
params->storagechanged = 1;
+ /* mirror what we do in camera_init, fetch root directory entries. */
+ if (params->deviceinfo.VendorExtensionID != PTP_VENDOR_SONY)
+ ptp_list_folder (params, PTP_HANDLER_SPECIAL, PTP_HANDLER_SPECIAL);
+
+ {
+ unsigned int k;
+
+ for (k=0;k<params->storageids.n;k++) {
+ if (!(params->storageids.Storage[k] & 0xffff)) continue;
+ if (params->storageids.Storage[k] == 0x80000001) continue;
+ ptp_list_folder (params, params->storageids.Storage[k], PTP_HANDLER_SPECIAL);
+ }
+ }
+
break;
}
default: /* check if we should handle it internally too */
@@ -2225,9 +2811,9 @@ ptp_check_event (PTPParams *params)
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;
}
+ free (xevent);
if (params->event90c7works)
return PTP_RC_OK;
/* fall through to generic event handling */
@@ -2330,7 +2916,7 @@ uint16_t
ptp_canon_eos_getevent (PTPParams* params, PTPCanon_changes_entry **entries, int *nrofentries)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_GetEvent);
@@ -2420,7 +3006,7 @@ uint16_t
ptp_canon_eos_getstorageids (PTPParams* params, PTPStorageIDs* storageids)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_GetStorageIDs);
@@ -2447,7 +3033,7 @@ ptp_canon_eos_getobjectinfoex (
) {
PTPContainer ptp;
uint16_t ret = PTP_RC_OK;
- unsigned char *data, *xdata;
+ unsigned char *data = NULL, *xdata;
unsigned int size, i;
PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_GetObjectInfoEx, storageid, oid, unk);
@@ -2476,16 +3062,35 @@ ptp_canon_eos_getobjectinfoex (
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");
+ unsigned int entrysize;
+
+ if (4 + (xdata - data) > size) {
+ ptp_debug (params, "reading canon FEs run over read data size? (1)\n");
+ free (*entries);
+ *entries = NULL;
+ *nrofentries = 0;
+ ret = PTP_RC_GeneralError;
+ goto exit;
+ }
+ entrysize = dtoh32a(xdata);
+ if ((entrysize + (xdata-data)) > size) {
+ ptp_debug (params, "reading canon FEs run over read data size? (2)\n");
+ free (*entries);
+ *entries = NULL;
+ *nrofentries = 0;
+ ret = PTP_RC_GeneralError;
+ goto exit;
+ }
+ if (entrysize < 4 + 48 + 4) {
+ ptp_debug (params, "%d entry size %d does not match expected 56\n", i, entrysize);
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);
+ ptp_unpack_Canon_EOS_FE (params, &xdata[4], entrysize - 4, &((*entries)[i]));
+ xdata += entrysize;
}
exit:
free (data);
@@ -2517,6 +3122,33 @@ ptp_canon_eos_getpartialobject (PTPParams* params, uint32_t oid, uint32_t offset
return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, NULL);
}
+/**
+ * ptp_canon_eos_getpartialobjectex:
+ *
+ * This retrieves a part of an PTP object which you specify as object id.
+ * The id originates from 0x9116 call.
+ * After finishing it, we seem to need to call ptp_canon_eos_enddirecttransfer.
+ *
+ * params: PTPParams*
+ * oid Object ID
+ * offset The offset where to start the data transfer
+ * xsize Size in bytes of the transfer to do
+ * data Pointer that receives the malloc()ed memory of the transfer.
+ *
+ * Return values: Some PTP_RC_* code.
+ *
+ */
+uint16_t
+ptp_canon_eos_getpartialobjectex (PTPParams* params, uint32_t oid, uint32_t offset, uint32_t xsize, unsigned char**data)
+{
+ PTPContainer ptp;
+
+/* 5bf19091 00008001 00001000 00000000 */
+/* objectid offset size ? 64bit part ? */
+ PTP_CNT_INIT(ptp, PTP_OC_CANON_EOS_GetPartialObjectEx, oid, offset, xsize, 0);
+ return ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, data, NULL);
+}
+
uint16_t
ptp_canon_eos_setdevicepropvalueex (PTPParams* params, unsigned char* data, unsigned int size)
{
@@ -2635,7 +3267,7 @@ ptp_canon_getpartialobject (PTPParams* params, uint32_t handle,
{
PTPContainer ptp;
uint16_t ret;
- unsigned char *data;
+ unsigned char *data = NULL;
PTP_CNT_INIT(ptp, PTP_OC_CANON_GetPartialObjectEx, handle, offset, size, pos);
ret=ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, NULL);
@@ -2697,7 +3329,7 @@ uint16_t
ptp_canon_getchanges (PTPParams* params, uint16_t** props, uint32_t* propnum)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
PTP_CNT_INIT(ptp, PTP_OC_CANON_GetChanges);
@@ -2737,7 +3369,7 @@ ptp_canon_getobjectinfo (PTPParams* params, uint32_t store, uint32_t p2,
{
PTPContainer ptp;
uint16_t ret;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int i, size;
*entnum = 0;
@@ -2858,7 +3490,7 @@ uint16_t
ptp_sony_sdioconnect (PTPParams* params, uint32_t p1, uint32_t p2, uint32_t p3)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
PTP_CNT_INIT(ptp, PTP_OC_SONY_SDIOConnect, p1, p2, p3);
CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, NULL));
@@ -2920,7 +3552,7 @@ uint16_t
ptp_sony_getdevicepropdesc (PTPParams* params, uint16_t propcode, PTPDevicePropDesc *dpd)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size, len = 0;
uint16_t ret;
@@ -2937,7 +3569,7 @@ uint16_t
ptp_sony_getalldevicepropdesc (PTPParams* params)
{
PTPContainer ptp;
- unsigned char *data, *dpddata;
+ unsigned char *data = NULL, *dpddata;
unsigned int size, readlen;
PTPDevicePropDesc dpd;
@@ -3351,7 +3983,7 @@ uint16_t
ptp_nikon_check_event (PTPParams* params, PTPContainer** event, unsigned int* evtcnt)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
PTP_CNT_INIT(ptp, PTP_OC_NIKON_CheckEvent);
@@ -3398,7 +4030,7 @@ ptp_nikon_getwifiprofilelist (PTPParams* params)
{
PTPContainer ptp;
uint16_t ret;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size, pos, profn, n;
char *buffer;
uint8_t len;
@@ -3629,7 +4261,7 @@ ptp_mtp_getobjectpropdesc (
PTPParams* params, uint16_t opc, uint16_t ofc, PTPObjectPropDesc *opd
) {
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
PTP_CNT_INIT(ptp, PTP_OC_MTP_GetObjectPropDesc, opc, ofc);
@@ -3658,7 +4290,7 @@ ptp_mtp_getobjectpropvalue (
) {
PTPContainer ptp;
uint16_t ret = PTP_RC_OK;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size, offset = 0;
PTP_CNT_INIT(ptp, PTP_OC_MTP_GetObjectPropValue, oid, opc);
@@ -3704,7 +4336,7 @@ uint16_t
ptp_mtp_getobjectreferences (PTPParams* params, uint32_t handle, uint32_t** ohArray, uint32_t* arraylen)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
PTP_CNT_INIT(ptp, PTP_OC_MTP_GetObjectReferences, handle);
@@ -3740,7 +4372,7 @@ uint16_t
ptp_mtp_getobjectproplist (PTPParams* params, uint32_t handle, MTPProperties **props, int *nrofprops)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
PTP_CNT_INIT(ptp, PTP_OC_MTP_GetObjPropList, handle,
@@ -3759,7 +4391,7 @@ uint16_t
ptp_mtp_getobjectproplist_single (PTPParams* params, uint32_t handle, MTPProperties **props, int *nrofprops)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
unsigned int size;
PTP_CNT_INIT(ptp, PTP_OC_MTP_GetObjPropList, handle,
@@ -4017,7 +4649,7 @@ uint16_t
ptp_chdk_read_script_msg(PTPParams* params, ptp_chdk_script_msg **msg)
{
PTPContainer ptp;
- unsigned char *data;
+ unsigned char *data = NULL;
PTP_CNT_INIT(ptp, PTP_OC_CHDK, PTP_CHDK_ReadScriptMsg);
@@ -4066,7 +4698,29 @@ ptp_chdk_call_function(PTPParams* params, int *args, int size, int *ret)
return PTP_RC_OK;
}
+uint16_t
+ptp_chdk_parse_live_data (PTPParams* params, unsigned char *data, unsigned int data_size,
+ lv_data_header *header,
+ lv_framebuffer_desc *vpd, lv_framebuffer_desc *bmd
+) {
+ int byte_w;
+ if (data_size < sizeof (*header))
+ return PTP_ERROR_IO;
+ ptp_unpack_chdk_lv_data_header (params, data, header);
+ if (data_size < (header->vp_desc_start + sizeof (*vpd)) || data_size < (header->bm_desc_start + sizeof (*bmd)))
+ return PTP_ERROR_IO;
+ ptp_unpack_chdk_lv_framebuffer_desc (params, data+header->vp_desc_start, vpd);
+ ptp_unpack_chdk_lv_framebuffer_desc (params, data+header->vp_desc_start, bmd);
+
+ /* The buffer_width field corresponds to the number of Y values in a row,
+ * so the actual number of bytes would be either one and a half times
+ * or (for Digic 6 cameras) twice so large */
+ byte_w = (vpd->fb_type == LV_FB_YUV8) ? vpd->buffer_width * 1.5 : vpd->buffer_width * 2;
+ if (data_size < (vpd->data_start + (byte_w * vpd->visible_height)))
+ return PTP_ERROR_IO;
+ return PTP_RC_OK;
+}
/**
@@ -4122,6 +4776,41 @@ ptp_android_sendpartialobject (PTPParams* params, uint32_t handle, uint64_t offs
return ret;
}
+uint16_t
+ptp_fuji_getevents (PTPParams* params, uint16_t** events, uint16_t* count)
+{
+ PTPContainer ptp;
+ unsigned char *data = NULL;
+ unsigned int size = 0;
+
+ PTP_CNT_INIT(ptp, PTP_OC_GetDevicePropValue, 0xd212);
+ CHECK_PTP_RC(ptp_transaction(params, &ptp, PTP_DP_GETDATA, 0, &data, &size));
+ ptp_debug(params, "ptp_fuji_getevents");
+ *count = 0;
+ if(size >= 2)
+ {
+ *count = dtoh16a(data);
+ ptp_debug(params, "event count: %d", *count);
+ *events = calloc(*count, sizeof(uint16_t));
+ if(size >= 2 + *count * 6)
+ {
+ uint16_t param;
+ uint32_t value;
+ int i;
+
+ for(i = 0; i < *count; i++)
+ {
+ param = dtoh16a(&data[2 + 6 * i]);
+ value = dtoh32a(&data[2 + 6 * i + 2]);
+ *events[i] = param;
+ ptp_debug(params, "param: %02x, value: %d ", param, value);
+ }
+ }
+ }
+ free(data);
+ return PTP_RC_OK;
+}
+
/* Non PTP protocol functions */
/* devinfo testing functions */
@@ -4235,6 +4924,7 @@ static struct {
{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_NODEVICE, 0, N_("PTP No Device")},
{PTP_ERROR_TIMEOUT, 0, N_("PTP Timeout")},
{PTP_ERROR_CANCEL, 0, N_("PTP Cancel Request")},
{PTP_ERROR_BADPARAM, 0, N_("PTP Invalid Parameter")},
@@ -5013,7 +5703,8 @@ ptp_get_property_description(PTPParams* params, uint16_t dpc)
return (ptp_device_properties[i].txt);
if (params->deviceinfo.VendorExtensionID==PTP_VENDOR_MICROSOFT
- || params->deviceinfo.VendorExtensionID==PTP_VENDOR_MTP)
+ || params->deviceinfo.VendorExtensionID==PTP_VENDOR_MTP
+ || params->deviceinfo.VendorExtensionID==PTP_VENDOR_PANASONIC)
for (i=0; ptp_device_properties_MTP[i].txt!=NULL; i++)
if (ptp_device_properties_MTP[i].dpc==dpc)
return (ptp_device_properties_MTP[i].txt);
@@ -5731,7 +6422,8 @@ ptp_render_property_value(PTPParams* params, uint16_t dpc,
}
}
if (params->deviceinfo.VendorExtensionID==PTP_VENDOR_MICROSOFT
- || params->deviceinfo.VendorExtensionID==PTP_VENDOR_MTP) {
+ || params->deviceinfo.VendorExtensionID==PTP_VENDOR_MTP
+ || params->deviceinfo.VendorExtensionID==PTP_VENDOR_PANASONIC) {
switch (dpc) {
case PTP_DPC_MTP_SynchronizationPartner:
case PTP_DPC_MTP_DeviceFriendlyName:
@@ -6204,6 +6896,26 @@ ptp_opcode_trans_t ptp_opcode_canon_trans[] = {
{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_OC_CANON_EOS_SetImageRecoveryData,"PTP_OC_CANON_EOS_SetImageRecoveryData"},
+ {PTP_OC_CANON_EOS_GetImageRecoveryList,"PTP_OC_CANON_EOS_GetImageRecoveryList"},
+ {PTP_OC_CANON_EOS_FormatImageRecoveryData,"PTP_OC_CANON_EOS_FormatImageRecoveryData"},
+ {PTP_OC_CANON_EOS_GetPresetLensAdjustParam,"PTP_OC_CANON_EOS_GetPresetLensAdjustParam"},
+ {PTP_OC_CANON_EOS_GetRawDispImage,"PTP_OC_CANON_EOS_GetRawDispImage"},
+ {PTP_OC_CANON_EOS_SaveImageRecoveryData,"PTP_OC_CANON_EOS_SaveImageRecoveryData"},
+ {PTP_OC_CANON_EOS_RequestBLE,"PTP_OC_CANON_EOS_RequestBLE"},
+ {PTP_OC_CANON_EOS_DrivePowerZoom,"PTP_OC_CANON_EOS_DrivePowerZoom"},
+ {PTP_OC_CANON_EOS_GetIptcData,"PTP_OC_CANON_EOS_GetIptcData"},
+ {PTP_OC_CANON_EOS_SetIptcData,"PTP_OC_CANON_EOS_SetIptcData"},
+ {PTP_OC_CANON_EOS_GetObjectInfo64,"PTP_OC_CANON_EOS_GetObjectInfo64"},
+ {PTP_OC_CANON_EOS_GetObject64,"PTP_OC_CANON_EOS_GetObject64"},
+ {PTP_OC_CANON_EOS_GetPartialObject64,"PTP_OC_CANON_EOS_GetPartialObject64"},
+ {PTP_OC_CANON_EOS_GetObjectInfoEx64,"PTP_OC_CANON_EOS_GetObjectInfoEx64"},
+ {PTP_OC_CANON_EOS_GetPartialObjectEX64,"PTP_OC_CANON_EOS_GetPartialObjectEX64"},
+ {PTP_OC_CANON_EOS_CreateHandle64,"PTP_OC_CANON_EOS_CreateHandle64"},
+ {PTP_OC_CANON_EOS_NotifyEstimateNumberofImport,"PTP_OC_CANON_EOS_NotifyEstimateNumberofImport"},
+ {PTP_OC_CANON_EOS_NotifyNumberofImported,"PTP_OC_CANON_EOS_NotifyNumberofImported"},
+ {PTP_OC_CANON_EOS_NotifySizeOfPartialDataTransfer,"PTP_OC_CANON_EOS_NotifySizeOfPartialDataTransfer"},
+ {PTP_OC_CANON_EOS_NotifyFinish,"PTP_OC_CANON_EOS_NotifyFinish"},
};
ptp_opcode_trans_t ptp_opcode_sony_trans[] = {
@@ -6251,6 +6963,7 @@ ptp_get_opcode_name(PTPParams* params, uint16_t opcode)
switch (params->deviceinfo.VendorExtensionID) {
case PTP_VENDOR_MICROSOFT:
+ case PTP_VENDOR_PANASONIC:
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);
@@ -6266,6 +6979,43 @@ ptp_get_opcode_name(PTPParams* params, uint16_t opcode)
struct {
+ uint16_t code;
+ const char *name;
+} ptp_event_codes[] = {
+ {PTP_EC_Undefined, "Undefined"},
+ {PTP_EC_CancelTransaction, "CancelTransaction"},
+ {PTP_EC_ObjectAdded, "ObjectAdded"},
+ {PTP_EC_ObjectRemoved, "ObjectRemoved"},
+ {PTP_EC_StoreAdded, "StoreAdded"},
+ {PTP_EC_StoreRemoved, "StoreRemoved"},
+ {PTP_EC_DevicePropChanged, "DevicePropChanged"},
+ {PTP_EC_ObjectInfoChanged, "ObjectInfoChanged"},
+ {PTP_EC_DeviceInfoChanged, "DeviceInfoChanged"},
+ {PTP_EC_RequestObjectTransfer, "RequestObjectTransfer"},
+ {PTP_EC_StoreFull, "StoreFull"},
+ {PTP_EC_DeviceReset, "DeviceReset"},
+ {PTP_EC_StorageInfoChanged, "StorageInfoChanged"},
+ {PTP_EC_CaptureComplete, "CaptureComplete"},
+ {PTP_EC_UnreportedStatus, "UnreportedStatus"},
+
+ {PTP_EC_MTP_ObjectPropChanged, "ObjectPropChanged"},
+ {PTP_EC_MTP_ObjectPropDescChanged, "ObjectPropDescChanged"},
+ {PTP_EC_MTP_ObjectReferencesChanged, "ObjectReferencesChanged"},
+};
+
+
+const char*
+ptp_get_event_code_name(PTPParams* params, uint16_t event_code)
+{
+ unsigned int i;
+ for (i=0; i<sizeof(ptp_event_codes)/sizeof(ptp_event_codes[0]); i++)
+ if (event_code == ptp_event_codes[i].code)
+ return _(ptp_event_codes[i].name);
+ return _("Unknown Event");
+}
+
+
+struct {
uint16_t id;
const char *name;
} ptp_opc_trans[] = {
@@ -6674,13 +7424,22 @@ ptp_object_want (PTPParams *params, uint32_t handle, unsigned int want, PTPObjec
return ret;
}
if (!ob->oi.Filename) ob->oi.Filename=strdup("<none>");
- if (ob->flags & PTPOBJECT_PARENTOBJECT_LOADED)
+ if (ob->flags & PTPOBJECT_PARENTOBJECT_LOADED) {
+ if (ob->oi.ParentObject != saveparent)
+ ptp_debug (params, "saved parent %08x is not the same as read via getobjectinfo %08x", ob->oi.ParentObject, saveparent);
ob->oi.ParentObject = saveparent;
+ }
/* Second EOS issue, 0x20000000 has 0x20000000 as parent */
if (ob->oi.ParentObject == handle)
ob->oi.ParentObject = 0;
+ /* Apple iOS X does that for the root folder. */
+ if (ob->oi.ParentObject == ob->oi.StorageID) {
+ ptp_debug (params, "parent %08x of %s has same id as storage id. rewriting to 0.", ob->oi.ParentObject, ob->oi.Filename);
+ ob->oi.ParentObject = 0;
+ }
+
/* Read out the canon special flags */
if ((params->deviceinfo.VendorExtensionID == PTP_VENDOR_CANON) &&
ptp_operation_issupported(params,PTP_OC_CANON_GetObjectInfoEx)) {
@@ -6745,10 +7504,7 @@ ptp_object_want (PTPParams *params, uint32_t handle, unsigned int want, PTPObjec
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;
+ ob->oi.ObjectCompressedSize = prop->propval.u64;
} else if (prop->datatype == PTP_DTC_UINT32) {
ob->oi.ObjectCompressedSize = prop->propval.u32;
}
diff --git a/src/ptp.h b/src/ptp.h
index eda3e1b..7c06b64 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-2014 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>
*
* This library is free software; you can redistribute it and/or
@@ -155,29 +155,35 @@ struct _PTPIPHeader {
typedef struct _PTPIPHeader PTPIPHeader;
/* Vendor IDs */
-#define PTP_VENDOR_EASTMAN_KODAK 0x00000001
-#define PTP_VENDOR_SEIKO_EPSON 0x00000002
-#define PTP_VENDOR_AGILENT 0x00000003
-#define PTP_VENDOR_POLAROID 0x00000004
-#define PTP_VENDOR_AGFA_GEVAERT 0x00000005
-#define PTP_VENDOR_MICROSOFT 0x00000006
-#define PTP_VENDOR_EQUINOX 0x00000007
-#define PTP_VENDOR_VIEWQUEST 0x00000008
-#define PTP_VENDOR_STMICROELECTRONICS 0x00000009
-#define PTP_VENDOR_NIKON 0x0000000A
-#define PTP_VENDOR_CANON 0x0000000B
-#define PTP_VENDOR_FOTONATION 0x0000000C
-#define PTP_VENDOR_PENTAX 0x0000000D
-#define PTP_VENDOR_FUJI 0x0000000E
+/* List is linked from here: http://www.imaging.org/site/IST/Standards/PTP_Standards.aspx */
+#define PTP_VENDOR_EASTMAN_KODAK 0x00000001
+#define PTP_VENDOR_SEIKO_EPSON 0x00000002
+#define PTP_VENDOR_AGILENT 0x00000003
+#define PTP_VENDOR_POLAROID 0x00000004
+#define PTP_VENDOR_AGFA_GEVAERT 0x00000005
+#define PTP_VENDOR_MICROSOFT 0x00000006
+#define PTP_VENDOR_EQUINOX 0x00000007
+#define PTP_VENDOR_VIEWQUEST 0x00000008
+#define PTP_VENDOR_STMICROELECTRONICS 0x00000009
+#define PTP_VENDOR_NIKON 0x0000000A
+#define PTP_VENDOR_CANON 0x0000000B
+#define PTP_VENDOR_FOTONATION 0x0000000C
+#define PTP_VENDOR_PENTAX 0x0000000D
+#define PTP_VENDOR_FUJI 0x0000000E
+#define PTP_VENDOR_NDD_MEDICAL_TECHNOLOGIES 0x00000012
+#define PTP_VENDOR_SAMSUNG 0x0000001a
+#define PTP_VENDOR_PARROT 0x0000001b
+#define PTP_VENDOR_PANASONIC 0x0000001c
/* 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 */
+#define PTP_VENDOR_SONY 0x00000011 /* observed in the A900 */
+
/* Vendor extension ID used for MTP (occasionaly, usualy 6 is used) */
#define PTP_VENDOR_MTP 0xffffffff
/* gphoto overrides */
-#define PTP_VENDOR_GP_OLYMPUS 0xfffffffe
+#define PTP_VENDOR_GP_OLYMPUS 0x0000fffe
+#define PTP_VENDOR_GP_OLYMPUS_OMD 0x0000fffd
+
/* Operation Codes */
@@ -285,18 +291,38 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_OC_CANON_SetPairingInfo 0x9030
#define PTP_OC_CANON_GetPairingInfo 0x9031
#define PTP_OC_CANON_DeletePairingInfo 0x9032
-#define PTP_OC_CANON_GetMACAddress 0x9033
+#define PTP_OC_CANON_GetMACAddress 0x9033 /* no args */
+/*
+0000 12 00 00 00 02 00 33 90-1a 00 00 00 2c 9e fc c8 ......3.....,...
+0010 33 e3 - 3.
+ */
+
/* 9034: 1 param, no parms returned */
#define PTP_OC_CANON_SetDisplayMonitor 0x9034
#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_GetWebServiceSpec 0x9068 /* no args */
+/* data returned:
+0000 1e 00 00 00 02 00 68 90-1a 00 00 00 00 01 08 00 ......h.........
+0010 14 00 bc ce 00 00 78 00-78 00 00 14 00 00 ......x.x.....
+*/
+
+#define PTP_OC_CANON_GetWebServiceData 0x9069 /* no args */
#define PTP_OC_CANON_SetWebServiceData 0x906B
-#define PTP_OC_CANON_GetRootCertificateSpec 0x906C
-#define PTP_OC_CANON_GetRootCertificateData 0x906D
+#define PTP_OC_CANON_GetRootCertificateSpec 0x906C /* no args */
+/*
+0000 12 00 00 00 02 00 6c 90-1a 00 00 00 00 01 6c 30 ......l.......l0
+0010 00 00 - ..
+*/
+#define PTP_OC_CANON_GetRootCertificateData 0x906D /* no args */
+/* empty data on test */
#define PTP_OC_CANON_SetRootCertificateData 0x906F
+#define PTP_OC_CANON_GetGpsMobilelinkObjectInfo 0x9075 /* 2 args: utcstart, utcend */
+#define PTP_OC_CANON_SendGpsTagInfo 0x9076 /* 1 arg: oid */
+#define PTP_OC_CANON_GetTrancecodeApproxSize 0x9077 /* 1 arg: oid? */
+#define PTP_OC_CANON_RequestTrancecodeStart 0x9078 /* 1 arg: oid? */
+#define PTP_OC_CANON_RequestTrancecodeCancel 0x9079 /* 1 arg: oid? */
/* 9101: no args, 8 byte data (01 00 00 00 00 00 00 00), no resp data. */
#define PTP_OC_CANON_EOS_GetStorageIDs 0x9101
@@ -373,13 +399,13 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_OC_CANON_EOS_SetUILock 0x911B
/* 911c: no cmd args, no data, no resp args */
#define PTP_OC_CANON_EOS_ResetUILock 0x911C
-#define PTP_OC_CANON_EOS_KeepDeviceOn 0x911D
-#define PTP_OC_CANON_EOS_SetNullPacketMode 0x911E
+#define PTP_OC_CANON_EOS_KeepDeviceOn 0x911D /* no arg */
+#define PTP_OC_CANON_EOS_SetNullPacketMode 0x911E /* 1 param */
#define PTP_OC_CANON_EOS_UpdateFirmware 0x911F
#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 0x9123
+#define PTP_OC_CANON_EOS_GetWftProfile 0x9123 /* 2 args: setnum, configid */
#define PTP_OC_CANON_EOS_SetProfileToWft 0x9124
#define PTP_OC_CANON_EOS_BulbStart 0x9125
#define PTP_OC_CANON_EOS_BulbEnd 0x9126
@@ -393,11 +419,11 @@ typedef struct _PTPIPHeader PTPIPHeader;
#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_ResetMirrorLockupState 0x9130 /* no args */
#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_MovieSelectSWOn 0x9133 /* no args */
+#define PTP_OC_CANON_EOS_MovieSelectSWOff 0x9134 /* no args */
#define PTP_OC_CANON_EOS_GetCTGInfo 0x9135
#define PTP_OC_CANON_EOS_GetLensAdjust 0x9136
#define PTP_OC_CANON_EOS_SetLensAdjust 0x9137
@@ -408,17 +434,27 @@ typedef struct _PTPIPHeader PTPIPHeader;
#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
+#define PTP_OC_CANON_EOS_SetRequestRollingPitchingLevel 0x913E /* 1 arg: onoff? */
/* 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_SetRating 0x9140 /* 2 args, objectid, rating? */
#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_SetImageRecoveryData 0x9146 /* sends data? */
+#define PTP_OC_CANON_EOS_GetImageRecoveryList 0x9147
+#define PTP_OC_CANON_EOS_FormatImageRecoveryData 0x9148
+#define PTP_OC_CANON_EOS_GetPresetLensAdjustParam 0x9149 /* no arg */
+#define PTP_OC_CANON_EOS_GetRawDispImage 0x914A /* ? 2 args ? */
+#define PTP_OC_CANON_EOS_SaveImageRecoveryData 0x914B
+#define PTP_OC_CANON_EOS_RequestBLE 0x914C /* 2? args? */
+#define PTP_OC_CANON_EOS_DrivePowerZoom 0x914D /* 1 arg */
+
+#define PTP_OC_CANON_EOS_GetIptcData 0x914F
+#define PTP_OC_CANON_EOS_SetIptcData 0x9150 /* sends data? */
+#define PTP_OC_CANON_EOS_InitiateViewfinder 0x9151 /* no arg */
#define PTP_OC_CANON_EOS_TerminateViewfinder 0x9152
/* EOS M2 wlan: 2 params, 0x00200000 0x01000000 */
#define PTP_OC_CANON_EOS_GetViewFinderData 0x9153
@@ -426,17 +462,27 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_OC_CANON_EOS_DriveLens 0x9155
#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_Zoom 0x9158 /* 1 arg: zoom */
#define PTP_OC_CANON_EOS_ZoomPosition 0x9159 /* 2 args: x,y */
-#define PTP_OC_CANON_EOS_SetLiveAfFrame 0x915A
+#define PTP_OC_CANON_EOS_SetLiveAfFrame 0x915A /* sends data? */
#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_GetObjectInfo64 0x9170 /* 1 arg: oid */
+#define PTP_OC_CANON_EOS_GetObject64 0x9171 /* 1 arg: oid */
+#define PTP_OC_CANON_EOS_GetPartialObject64 0x9172 /* args: oid, offset, maxbyte */
+#define PTP_OC_CANON_EOS_GetObjectInfoEx64 0x9173 /* 2 args: storageid, oid ? */
+#define PTP_OC_CANON_EOS_GetPartialObjectEX64 0x9174 /* args: oid, offset 64bit, maxbyte */
+#define PTP_OC_CANON_EOS_CreateHandle64 0x9175
+#define PTP_OC_CANON_EOS_NotifyEstimateNumberofImport 0x9182 /* 1 arg: importnumber */
+#define PTP_OC_CANON_EOS_NotifyNumberofImported 0x9183 /* 1 arg: importnumber */
+#define PTP_OC_CANON_EOS_NotifySizeOfPartialDataTransfer 0x9184 /* 4 args: filesizelow, filesizehigh, downloadsizelow, downloadsizehigh */
+#define PTP_OC_CANON_EOS_NotifyFinish 0x9185 /* 1 arg: reason */
#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_NotifyNetworkError 0x91E8 /* 1 arg: errorcode */
+#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
@@ -494,7 +540,7 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_OC_NIKON_GetPartialObjectHiSpeed 0x9400 /* 3 params, data in */
/* From Nikon V1 Trace */
-#define PTP_OC_NIKON_GetDevicePropEx 0x9504 /* gets device prop dataa */
+#define PTP_OC_NIKON_GetDevicePropEx 0x9504 /* gets device prop data */
/* Casio EX-F1 (from http://code.google.com/p/exf1ctrl/ ) */
#define PTP_OC_CASIO_STILL_START 0x9001
@@ -632,8 +678,16 @@ typedef struct _PTPIPHeader PTPIPHeader;
/* WiFi Provisioning MTP Extension Codes (microsoft.com/WPDWCN: 1.0) */
#define PTP_OC_MTP_WPDWCN_ProcessWFCObject 0x9122
+/* Olympus OMD series commands */
+#define PTP_OC_OLYMPUS_OMD_Capture 0x9481
+#define PTP_OC_OLYMPUS_GetLiveViewImage 0x9484 /* liveview */
+#define PTP_OC_OLYMPUS_OMD_GetImage 0x9485 /* gets an JPEG image (from the capture? SDRAM style?) */
+#define PTP_OC_OLYMPUS_OMD_ChangedProperties 0x9486
+#define PTP_OC_OLYMPUS_OMD_MFDrive 0x9487
+#define PTP_OC_OLYMPUS_OMD_SetProperties 0x9489 /* Sends to the device a PTP list of all 16 bit device properties , count 32bit, then 16bit vals */
/* Olympus E series commands */
+
#define PTP_OC_OLYMPUS_Capture 0x9101
#define PTP_OC_OLYMPUS_SelfCleaning 0x9103
#define PTP_OC_OLYMPUS_SetRGBGain 0x9106
@@ -649,6 +703,7 @@ typedef struct _PTPIPHeader PTPIPHeader;
#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
@@ -689,6 +744,54 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_OC_PARROT_MagnetoCalibStatus 0x9212
#define PTP_OC_PARROT_SendFirmwareUpdate 0x9213
+#define PTP_OC_PANASONIC_9101 0x9101
+#define PTP_OC_PANASONIC_OpenSession 0x9102 /* opensession (1 arg, seems to be storage id 0x00010001)*/
+#define PTP_OC_PANASONIC_CloseSession 0x9103 /* closesession (no arg) */
+#define PTP_OC_PANASONIC_9104 0x9104 /* get ext device id (1 arg?) */
+/* 9104 gets this data:
+0000 24 00 00 00 02 00 04 91-04 00 00 00 01 00 01 00 $...............
+0010 01 00 e1 07 10 00 00 00-00 00 00 00 00 00 00 00 ................
+0020 00 00 00 00 - ....
+*/
+
+#define PTP_OC_PANASONIC_9107 0x9107 /* getsize? */
+#define PTP_OC_PANASONIC_ListProperty 0x9108
+#define PTP_OC_PANASONIC_9110 0x9110 /* Get_Object infos */
+#define PTP_OC_PANASONIC_9112 0x9112 /* Get Partial Object , 4 args */
+#define PTP_OC_PANASONIC_9113 0x9113 /* Skip Objects Transfer , 1 arg */
+
+#define PTP_OC_PANASONIC_9401 0x9401
+#define PTP_OC_PANASONIC_GetProperty 0x9402
+#define PTP_OC_PANASONIC_SetProperty 0x9403
+#define PTP_OC_PANASONIC_InitiateCapture 0x9404 /* Rec Ctrl Release */
+#define PTP_OC_PANASONIC_9405 0x9405 /* Rec Ctrl AF AE */
+#define PTP_OC_PANASONIC_9406 0x9406 /* Setup Ctrl various functions: Format, Sensor Cleaning, Menu Save, firmware update? */
+#define PTP_OC_PANASONIC_9408 0x9408
+#define PTP_OC_PANASONIC_9409 0x9409 /* 1 arg */
+#define PTP_OC_PANASONIC_940A 0x940A /* 1 arg, e.g. 0x08000010 */
+#define PTP_OC_PANASONIC_940B 0x940B /* 1 arg, e.g. 0x08000010 */
+#define PTP_OC_PANASONIC_MoveRecControl 0x940C /* 07000011 start, 07000012 stop, 0700013 still capture */
+#define PTP_OC_PANASONIC_PowerControl 0x940D /* 1 arg: 0x0A000011 power off, 0x0a00012 device reset, 0x0a00013 device restart */
+#define PTP_OC_PANASONIC_PlayControl 0x940E /* 2 arg? 0x05000011 current=0, next=1, prev=0xffffffff */
+#define PTP_OC_PANASONIC_PlayControlPlay 0x940F /* 0x05000020 */
+#define PTP_OC_PANASONIC_9410 0x9410 /* Rec Ctrl Other */
+#define PTP_OC_PANASONIC_SetGPSDataInfo 0x9411
+#define PTP_OC_PANASONIC_Liveview 0x9412 /* 0d000010 start, 0d000011 stop */
+#define PTP_OC_PANASONIC_9414 0x9414 /* 1 arg e.g 12000020 */
+#define PTP_OC_PANASONIC_9416 0x9416 /* Rec Ctrl Mf Assist, Rec Ctrl Backup Req ... 1 arg */
+
+#define PTP_OC_PANASONIC_ChangeEvent 0x9603 /* 2 args ... e.g. 0x4002, new (change object added event) */
+#define PTP_OC_PANASONIC_GetFromEventInfo 0x9605 /* 1 arg, e.g. 0x41000013 , 15c00021: setup exec menu save comp, 15c00022: setup exec pixel refresh comp */
+#define PTP_OC_PANASONIC_SendDataInfo 0x9606 /* no args? used during firmware update */
+#define PTP_OC_PANASONIC_StartSendData 0x9607 /* no args? used during firmware update */
+
+#define PTP_OC_PANASONIC_9703 0x9703 /* Mnt_GetInfo_GetVersion ... 1 arg? */
+#define PTP_OC_PANASONIC_9704 0x9704 /* Set USB Mode ... 80040001 */
+#define PTP_OC_PANASONIC_9705 0x9705 /* Ctrl Liveview */
+#define PTP_OC_PANASONIC_LiveviewImage 0x9706 /* Get Liveview Data */
+#define PTP_OC_PANASONIC_9707 0x9707 /* 4k6k cutting get stream */
+
+
/* Proprietary vendor extension operations mask */
#define PTP_OC_EXTENSION_MASK 0xF000
@@ -797,6 +900,7 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_RC_MTP_WFC_Version_Not_Supported 0xA122
/* libptp2 extended ERROR codes */
+#define PTP_ERROR_NODEVICE 0x02F9
#define PTP_ERROR_TIMEOUT 0x02FA
#define PTP_ERROR_CANCEL 0x02FB
#define PTP_ERROR_BADPARAM 0x02FC
@@ -833,6 +937,8 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_EC_CANON_StartDirectTransfer 0xC011
#define PTP_EC_CANON_StopDirectTransfer 0xC013
+#define PTP_EC_CANON_TranscodeProgress 0xC01B /* EOS ? */
+
/* Canon EOS events */
#define PTP_EC_CANON_EOS_RequestGetEvent 0xc101
#define PTP_EC_CANON_EOS_ObjectAddedEx 0xc181
@@ -855,12 +961,24 @@ typedef struct _PTPIPHeader PTPIPHeader;
#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_InnerDevelopParam 0xc196
+#define PTP_EC_CANON_EOS_RequestObjectTransferDevelop 0xc197
+#define PTP_EC_CANON_EOS_GPSLogOutputProgress 0xc198
+#define PTP_EC_CANON_EOS_GPSLogOutputComplete 0xc199
+#define PTP_EC_CANON_EOS_TouchTrans 0xc19a
+#define PTP_EC_CANON_EOS_RequestObjectTransferExInfo 0xc19b
+#define PTP_EC_CANON_EOS_PowerZoomInfoChanged 0xc19d
+#define PTP_EC_CANON_EOS_RequestPushMode 0xc19f
#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_ObjectAddedEx64 0xc1a7
+#define PTP_EC_CANON_EOS_ObjectInfoChangedEx64 0xc1a8
+#define PTP_EC_CANON_EOS_RequestObjectTransfer64 0xc1a9
+#define PTP_EC_CANON_EOS_RequestObjectTransferFTP64 0xc1ab
+#define PTP_EC_CANON_EOS_ImportError 0xc1af
+#define PTP_EC_CANON_EOS_BlePairing 0xc1b0
#define PTP_EC_CANON_EOS_RequestObjectTransferFTP 0xc1f1
/* Nikon extension Event Codes */
@@ -889,6 +1007,8 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_EC_PARROT_Status 0xC201
#define PTP_EC_PARROT_MagnetoCalibrationStatus 0xC202
+#define PTP_EC_PANASONIC_ObjectAdded 0xC108
+
/* constants for GetObjectHandles */
#define PTP_GOH_ALL_STORAGE 0xffffffff
@@ -983,6 +1103,21 @@ struct _PTPObjectInfo {
};
typedef struct _PTPObjectInfo PTPObjectInfo;
+struct _PTPObjectFilesystemInfo {
+ uint32_t ObjectHandle;
+ uint32_t StorageID;
+ uint16_t ObjectFormat;
+ uint16_t ProtectionStatus;
+ uint64_t ObjectCompressedSize64;
+ uint32_t ParentObject;
+ uint16_t AssociationType;
+ uint32_t AssociationDesc;
+ uint32_t SequenceNumber;
+ char *Filename;
+ time_t ModificationDate;
+};
+typedef struct _PTPObjectFilesystemInfo PTPObjectFilesystemInfo;
+
/* max ptp string length INCLUDING terminating null character */
#define PTP_MAXSTRLEN 255
@@ -1305,7 +1440,9 @@ enum _PTPCanon_changes_types {
PTP_CANON_EOS_CHANGES_TYPE_CAMERASTATUS,
PTP_CANON_EOS_CHANGES_TYPE_FOCUSINFO,
PTP_CANON_EOS_CHANGES_TYPE_FOCUSMASK,
- PTP_CANON_EOS_CHANGES_TYPE_OBJECTREMOVED
+ PTP_CANON_EOS_CHANGES_TYPE_OBJECTREMOVED,
+ PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO_CHANGE,
+ PTP_CANON_EOS_CHANGES_TYPE_OBJECTCONTENT_CHANGE
};
struct _PTPCanon_New_Object {
@@ -1523,6 +1660,11 @@ typedef struct _PTPCanonEOSDeviceInfo {
#define PTP_DPC_CANON_AverageFilesizes 0xD048
#define PTP_DPC_CANON_ModelID 0xD049
+#define PTP_DPC_CANON_EOS_PowerZoomPosition 0xD055
+#define PTP_DPC_CANON_EOS_StrobeSettingSimple 0xD056
+#define PTP_DPC_CANON_EOS_ConnectTrigger 0xD058
+#define PTP_DPC_CANON_EOS_ChangeCameraMode 0xD059
+
/* From EOS 400D trace. */
#define PTP_DPC_CANON_EOS_Aperture 0xD101
#define PTP_DPC_CANON_EOS_ShutterSpeed 0xD102
@@ -1558,16 +1700,25 @@ typedef struct _PTPCanonEOSDeviceInfo {
#define PTP_DPC_CANON_EOS_ImageFormatCF 0xD121 /* file setting CF */
#define PTP_DPC_CANON_EOS_ImageFormatSD 0xD122 /* file setting SD */
#define PTP_DPC_CANON_EOS_ImageFormatExtHD 0xD123 /* file setting exthd */
+#define PTP_DPC_CANON_EOS_RefocusState 0xD124
+#define PTP_DPC_CANON_EOS_CameraNickname 0xD125
+#define PTP_DPC_CANON_EOS_SpecialAcc 0xD12F
#define PTP_DPC_CANON_EOS_CompressionS 0xD130
#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_IntervalShootSetting 0xD134
+#define PTP_DPC_CANON_EOS_IntervalShootState 0xD135
+#define PTP_DPC_CANON_EOS_PushMode 0xD136
+#define PTP_DPC_CANON_EOS_LvCFilterKind 0xD137
#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_TimeShootSetting 0xD13E
+#define PTP_DPC_CANON_EOS_NFCApplicationInfo 0xD13F
#define PTP_DPC_CANON_EOS_PCWhiteBalance1 0xD140
#define PTP_DPC_CANON_EOS_PCWhiteBalance2 0xD141
#define PTP_DPC_CANON_EOS_PCWhiteBalance3 0xD142
@@ -1575,6 +1726,10 @@ typedef struct _PTPCanonEOSDeviceInfo {
#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_PowerZoomSpeed 0xD149
+#define PTP_DPC_CANON_EOS_NetworkServerRegion 0xD14A
+#define PTP_DPC_CANON_EOS_GPSLogCtrl 0xD14B
+#define PTP_DPC_CANON_EOS_GPSLogListNum 0xD14C
#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
@@ -1583,12 +1738,31 @@ typedef struct _PTPCanonEOSDeviceInfo {
#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_PictureStyleExStandard 0xD157
+#define PTP_DPC_CANON_EOS_PictureStyleExPortrait 0xD158
+#define PTP_DPC_CANON_EOS_PictureStyleExLandscape 0xD159
+#define PTP_DPC_CANON_EOS_PictureStyleExNeutral 0xD15A
+#define PTP_DPC_CANON_EOS_PictureStyleExFaithful 0xD15B
+#define PTP_DPC_CANON_EOS_PictureStyleExBlackWhite 0xD15C
+#define PTP_DPC_CANON_EOS_PictureStyleExAuto 0xD15D
+#define PTP_DPC_CANON_EOS_PictureStyleExFineDetail 0xD15E
#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_PictureStyleExUserSet1 0xD163
+#define PTP_DPC_CANON_EOS_PictureStyleExUserSet2 0xD164
+#define PTP_DPC_CANON_EOS_PictureStyleExUserSet3 0xD165
+#define PTP_DPC_CANON_EOS_AvailableImageSize 0xD168
+#define PTP_DPC_CANON_EOS_ErrorHistory 0xD169
+#define PTP_DPC_CANON_EOS_LensExchangeHistory 0xD16A
+#define PTP_DPC_CANON_EOS_StroboExchangeHistory 0xD16B
#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_MovieRecordVolumeLine 0xD174
+#define PTP_DPC_CANON_EOS_NetworkCommunicationMode 0xD175
+#define PTP_DPC_CANON_EOS_CanonLogGamma 0xD176
+#define PTP_DPC_CANON_EOS_SmartphoneShowImageConfig 0xD177
#define PTP_DPC_CANON_EOS_HighISOSettingNoiseReduction 0xD178
#define PTP_DPC_CANON_EOS_MovieServoAF 0xD179
#define PTP_DPC_CANON_EOS_ContinuousAFValid 0xD17A
@@ -1627,6 +1801,7 @@ typedef struct _PTPCanonEOSDeviceInfo {
#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_GPSDeviceActive 0xD19F
#define PTP_DPC_CANON_EOS_CustomFuncEx 0xD1a0
#define PTP_DPC_CANON_EOS_MyMenu 0xD1a1
#define PTP_DPC_CANON_EOS_MyMenuList 0xD1a2
@@ -1987,6 +2162,7 @@ typedef struct _PTPCanonEOSDeviceInfo {
#define PTP_DPC_FUJI_ReleaseMode 0xD201
#define PTP_DPC_FUJI_FocusAreas 0xD206
#define PTP_DPC_FUJI_AELock 0xD213
+#define PTP_DPC_FUJI_Copyright 0xD215
#define PTP_DPC_FUJI_Aperture 0xD218
#define PTP_DPC_FUJI_ShutterSpeed 0xD219
@@ -2010,6 +2186,22 @@ typedef struct _PTPCanonEOSDeviceInfo {
#define PTP_DPC_MTP_Zune_UnknownVersion 0xD181
/* Olympus */
+/* these are from OMD E-M1 Mark 2 */
+#define PTP_DPC_OLYMPUS_Aperture 0xD002
+#define PTP_DPC_OLYMPUS_FocusMode 0xD003
+#define PTP_DPC_OLYMPUS_ExposureMeteringMode 0xD004
+#define PTP_DPC_OLYMPUS_ISO 0xD007
+#define PTP_DPC_OLYMPUS_ExposureCompensation 0xD008
+#define PTP_DPC_OLYMPUS_OMD_DriveMode 0xD009
+#define PTP_DPC_OLYMPUS_ImageFormat 0xD00D
+#define PTP_DPC_OLYMPUS_FaceDetection 0xD01A
+#define PTP_DPC_OLYMPUS_AspectRatio 0xD01B
+#define PTP_DPC_OLYMPUS_Shutterspeed 0xD01C
+#define PTP_DPC_OLYMPUS_WhiteBalance 0xD01E
+#define PTP_DPC_OLYMPUS_LiveViewModeOM 0xD06D
+#define PTP_DPC_OLYMPUS_CaptureTarget 0xD0DC
+
+/* unsure where these were from */
#define PTP_DPC_OLYMPUS_ResolutionMode 0xD102
#define PTP_DPC_OLYMPUS_FocusPriority 0xD103
#define PTP_DPC_OLYMPUS_DriveMode 0xD104
@@ -2174,6 +2366,83 @@ typedef struct _PTPCanonEOSDeviceInfo {
#define PTP_DPC_PARROT_MultisensorsIrradianceIntegrationTime 0xD218
#define PTP_DPC_PARROT_OverlapRate 0xD219
+/* Panasonic does not have regular device properties, they use some 32bit values */
+#define PTP_DPC_PANASONIC_PhotoStyle 0x02000010
+#define PTP_DPC_PANASONIC_ISO 0x02000020
+#define PTP_DPC_PANASONIC_ShutterSpeed 0x02000030
+#define PTP_DPC_PANASONIC_Aperture 0x02000040
+#define PTP_DPC_PANASONIC_WhiteBalance 0x02000050
+#define PTP_DPC_PANASONIC_Exposure 0x02000060
+#define PTP_DPC_PANASONIC_AFArea 0x02000070
+#define PTP_DPC_PANASONIC_CameraMode 0x02000080
+#define PTP_DPC_PANASONIC_ImageFormat 0x020000A2
+#define PTP_DPC_PANASONIC_MeteringInfo 0x020000B0
+#define PTP_DPC_PANASONIC_IntervalInfo 0x020000C0
+#define PTP_DPC_PANASONIC_RecDispConfig 0x020000E0
+#define PTP_DPC_PANASONIC_RecInfoFlash 0x02000110
+#define PTP_DPC_PANASONIC_BurstBracket 0x02000140
+#define PTP_DPC_PANASONIC_RecPreviewConfig 0x02000170
+#define PTP_DPC_PANASONIC_RecInfoSelfTimer 0x020001A0
+#define PTP_DPC_PANASONIC_RecInfoFlash2 0x020001B0
+#define PTP_DPC_PANASONIC_MovConfig 0x06000010
+#define PTP_DPC_PANASONIC_08000010 0x08000010
+/* various modes of the camera, HDMI, GetDateTimeWorldTime Mode/Area, SetupCfgInfo, SetupConfig_DateTime, GetSystemFreq Mode, GetSetupConfig Info */
+/*
+0000 54 00 00 00 02 00 0a 94-04 00 00 00 11 00 00 08 T...............
+0010 0a 00 00 00 e2 07 07 00-10 00 11 00 09 00 12 00 ................
+0020 00 08 02 00 00 00 00 00-13 00 00 08 02 00 00 00 ................
+0030 00 00 14 00 00 08 04 00-00 00 00 00 00 00 15 00 ................
+0040 00 08 04 00 00 00 00 00-00 00 16 00 00 08 02 00 ................
+0050 00 00 01 00 - ....
+
+0000 d0 00 00 00 02 00 07 91-04 00 00 00 10 00 00 08 ................
+0010 14 00 00 00 14 00 00 00-01 00 01 00 00 00 00 00 ................
+0020 06 00 00 00 38 03 00 00-11 00 00 08 14 00 00 00 ....8...........
+0030 14 00 00 00 01 00 01 00-00 00 00 00 05 00 00 00 ................
+0040 c8 00 00 00 12 00 00 08-14 00 00 00 14 00 00 00 ................
+0050 01 00 01 00 00 00 00 00-01 00 00 00 36 00 00 00 ............6...
+0060 13 00 00 08 14 00 00 00-14 00 00 00 01 00 01 00 ................
+0070 00 00 00 00 01 00 00 00-2a 00 00 00 14 00 00 08 ........*.......
+0080 14 00 00 00 14 00 00 00-01 00 01 00 00 00 00 00 ................
+0090 02 00 00 00 9e 00 00 00-15 00 00 08 14 00 00 00 ................
+00a0 14 00 00 00 01 00 01 00-00 00 00 00 02 00 00 00 ................
+00b0 9e 00 00 00 16 00 00 08-14 00 00 00 14 00 00 00 ................
+00c0 01 00 01 00 00 00 00 00-01 00 00 00 2c 00 00 00 ............,...
+ */
+#define PTP_DPC_PANASONIC_08000091 0x08000091 /* SetupFilesConfig_Set_Target */
+/*
+0000 16 00 00 00 02 00 0a 94-04 00 00 00 91 00 00 08 ................
+0010 02 00 00 00 00 00 - ......
+
+0000 44 00 00 00 02 00 07 91-04 00 00 00 90 00 00 08 D...............
+0010 14 00 00 00 14 00 00 00-01 00 01 00 00 00 00 00 ................
+0020 01 00 00 00 48 00 00 00-91 00 00 08 14 00 00 00 ....H...........
+0030 14 00 00 00 01 00 01 00-00 00 00 00 01 00 00 00 ................
+0040 2c 00 00 00 - ,...
+ */
+
+#define PTP_DPC_PANASONIC_GetFreeSpaceInImages 0x12000010
+/*
+0000 98 00 00 00 02 00 14 94-04 00 00 00 11 00 00 12 ................
+0010 04 00 00 00 4e 00 00 00-12 00 00 12 04 00 00 00 ....N...........
+0020 00 00 00 00 13 00 00 12-02 00 00 00 00 00 14 00 ................
+0030 00 12 04 00 00 00 00 00-00 00 15 00 00 12 06 00 ................
+0040 00 00 02 00 01 00 00 00-16 00 00 12 3a 00 00 00 ............:...
+0050 02 00 4e 00 00 00 00 00-00 00 4e 00 00 00 ff ff ..N.......N.....
+0060 ff ff 00 00 00 00 ff ff-ff ff 00 00 00 00 00 00 ................
+0070 00 00 00 00 00 00 ff ff-ff ff 00 00 00 00 ff ff ................
+0080 ff ff 00 00 00 00 00 00-00 00 17 00 00 12 06 00 ................
+0090 00 00 00 00 00 00 00 00- ........
+ */
+#define PTP_DPC_PANASONIC_GetBatteryInfo 0x16000010
+/*
+0000 1c 00 00 00 02 00 14 94-04 00 00 00 11 00 00 16 ................
+0010 08 00 00 00 4b 00 00 00-4b 00 ff ff ....K...K...
+ */
+#define PTP_DPC_PANASONIC_LensGetMFBar 0x12010040
+/* 15c00010 GetSetupInfo Error */
+/* 18000010 GetUSBSpeed */
+
/* MTP specific Object Properties */
#define PTP_OPC_StorageID 0xDC01
@@ -2397,6 +2666,7 @@ typedef uint16_t (* PTPIOGetResp) (PTPParams* params, PTPContainer* resp);
typedef uint16_t (* PTPIOGetData) (PTPParams* params, PTPContainer* ptp,
PTPDataHandler *putter);
typedef uint16_t (* PTPIOCancelReq) (PTPParams* params, uint32_t transaction_id);
+typedef uint16_t (* PTPIODevStatReq) (PTPParams* params);
/* debug functions */
typedef void (* PTPErrorFunc) (void *data, const char *format, va_list args)
@@ -2458,6 +2728,7 @@ struct _PTPParams {
PTPIOGetResp event_check_queue;
PTPIOGetResp event_wait;
PTPIOCancelReq cancelreq_func;
+ PTPIODevStatReq devstatreq_func;
/* Custom error and debug function */
PTPErrorFunc error_func;
@@ -2568,6 +2839,8 @@ uint16_t ptp_usb_control_get_extended_event_data (PTPParams *params, char *buffe
uint16_t ptp_usb_control_device_reset_request (PTPParams *params);
uint16_t ptp_usb_control_get_device_status (PTPParams *params, char *buffer, int *size);
uint16_t ptp_usb_control_cancel_request (PTPParams *params, uint32_t transid);
+uint16_t ptp_usb_control_cancel_request (PTPParams *params, uint32_t transid);
+uint16_t ptp_usb_control_device_status_request (PTPParams *params);
int ptp_ptpip_connect (PTPParams* params, const char *port);
@@ -2672,6 +2945,12 @@ uint16_t ptp_getthumb (PTPParams *params, uint32_t handle,
uint16_t ptp_deleteobject (PTPParams* params, uint32_t handle,
uint32_t ofc);
+uint16_t ptp_moveobject (PTPParams* params, uint32_t handle,
+ uint32_t storage, uint32_t parent);
+
+uint16_t ptp_copyobject (PTPParams* params, uint32_t handle,
+ uint32_t storage, uint32_t parent);
+
uint16_t ptp_sendobjectinfo (PTPParams* params, uint32_t* store,
uint32_t* parenthandle, uint32_t* handle,
PTPObjectInfo* objectinfo);
@@ -2721,7 +3000,7 @@ 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);
+ uint64_t *numoifs, PTPObjectFilesystemInfo **oifs);
@@ -2931,8 +3210,9 @@ uint16_t ptp_canon_checkevent (PTPParams* params,
#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)
+#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)
+#define ptp_canon_eos_setrequestrollingpitchinglevel(params,onoff) ptp_generic_no_data(params,PTP_OC_CANON_EOS_SetRequestRollingPitchingLevel,1,onoff)
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,
@@ -3016,6 +3296,7 @@ uint16_t ptp_canon_getpairinginfo (PTPParams* params, uint32_t nr, unsigned char
uint16_t ptp_canon_eos_getstorageids (PTPParams* params, PTPStorageIDs* storageids);
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_getpartialobjectex (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);
@@ -3315,6 +3596,9 @@ 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 *);
+uint16_t ptp_olympus_omd_capture (PTPParams* params);
+uint16_t ptp_olympus_omd_move_focus (PTPParams* params, uint32_t direction, uint32_t step_size);
+
/* Non PTP protocol functions */
static inline int
ptp_operation_issupported(PTPParams* params, uint16_t operation)
@@ -3346,6 +3630,7 @@ void ptp_error (PTPParams *params, const char *format, ...);
const char* ptp_get_property_description(PTPParams* params, uint16_t dpc);
const char* ptp_get_opcode_name(PTPParams* params, uint16_t opcode);
+const char* ptp_get_event_code_name(PTPParams* params, uint16_t event_code);
int
ptp_render_property_value(PTPParams* params, uint16_t dpc,
@@ -3362,6 +3647,7 @@ uint16_t ptp_object_want (PTPParams *, uint32_t handle, unsigned int want, PTPOb
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);
+uint16_t ptp_list_folder (PTPParams *params, uint32_t storage, uint32_t handle);
/* ptpip.c */
void ptp_nikon_getptpipguid (unsigned char* guid);
@@ -3423,11 +3709,35 @@ 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_parse_live_data (PTPParams* params, unsigned char *data, unsigned int data_size,
+ lv_data_header *header, lv_framebuffer_desc *vpd, lv_framebuffer_desc *bmd);
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);*/
+uint16_t ptp_fuji_getevents (PTPParams* params, uint16_t** events, uint16_t* count);
+
+#define ptp_panasonic_liveview(params,enable) ptp_generic_no_data(params,PTP_OC_PANASONIC_Liveview,1,enable?0xD000010:0xD000011)
+uint16_t ptp_panasonic_liveview_image (PTPParams* params, unsigned char **data, unsigned int *size);
+
+uint16_t ptp_panasonic_setdeviceproperty (PTPParams* params, uint32_t propcode, unsigned char *value, uint16_t valuesize);
+uint16_t ptp_panasonic_getdeviceproperty (PTPParams *params, uint32_t propcode, uint16_t *valuesize, uint32_t *currentValue);
+uint16_t ptp_panasonic_getdevicepropertydesc (PTPParams *params, uint32_t propcode, uint16_t valuesize, uint32_t *currentValue, uint32_t **propertyValueList, uint32_t *propertyValueListLength);
+uint16_t ptp_panasonic_getdevicepropertysize (PTPParams *params, uint32_t propcode);
+
+
+
+uint16_t ptp_olympus_liveview_image (PTPParams* params, unsigned char **data, unsigned int *size);
+#define ptp_olympus_omd_move_focus(params,direction,step_size) ptp_generic_no_data(params,PTP_OC_OLYMPUS_OMD_MFDrive,2,direction,step_size)
+uint16_t ptp_olympus_omd_capture (PTPParams* params);
+uint16_t ptp_olympus_init_pc_mode (PTPParams* params);
+uint16_t ptp_olympus_sdram_image (PTPParams* params, unsigned char **data, unsigned int *size);
+
+
+
+#define ptp_panasonic_capture(params) ptp_generic_no_data(params,PTP_OC_PANASONIC_InitiateCapture,1,0x3000011)
+
#ifdef __cplusplus
}
#endif /* __cplusplus */
diff --git a/src/util.c b/src/util.c
index 7f778a5..9a5907d 100644
--- a/src/util.c
+++ b/src/util.c
@@ -149,4 +149,3 @@ char *strndup (const char *s, size_t n)
return ret;
}
#endif
-
diff --git a/util/mtp-hotplug.c b/util/mtp-hotplug.c
index 8e118ae..e958046 100644
--- a/util/mtp-hotplug.c
+++ b/util/mtp-hotplug.c
@@ -140,7 +140,7 @@ int main (int argc, char **argv)
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("ACTION!=\"add\", ACTION!=\"bind\", 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"
@@ -165,7 +165,7 @@ int main (int argc, char **argv)
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("ACTION!=\"add\", ACTION!=\"bind\", 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"