diff options
author | Linus Walleij <triad@df.lth.se> | 2009-01-02 01:44:00 +0000 |
---|---|---|
committer | Linus Walleij <triad@df.lth.se> | 2009-01-02 01:44:00 +0000 |
commit | 2242b028c1ed7864cd5118d6fa3db47aa95ae1a2 (patch) | |
tree | f2bc9aa7b1dcbb50e5983de80b5aee897b0c04be | |
parent | 8aba06d532cc9f9d061a39420a4186ce834d75a7 (diff) | |
download | libmtp-2242b028c1ed7864cd5118d6fa3db47aa95ae1a2.tar.gz |
Several new devices and fixes
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | README | 3 | ||||
-rw-r--r-- | examples/common.h | 2 | ||||
-rw-r--r-- | examples/connect.c | 12 | ||||
-rw-r--r-- | examples/newfolder.c | 4 | ||||
-rw-r--r-- | examples/sendfile.c | 4 | ||||
-rw-r--r-- | examples/sendtr.c | 6 | ||||
-rw-r--r-- | logs/mtp-detect-iriver-t7-volcano.txt | 207 | ||||
-rw-r--r-- | logs/mtp-detect-samsung-yp-q1.txt | 429 | ||||
-rw-r--r-- | src/music-players.h | 21 | ||||
-rw-r--r-- | src/unicode.h | 2 |
11 files changed, 685 insertions, 16 deletions
@@ -1,3 +1,14 @@ +2009-01-02 Linus Walleij <triad@df.lth.se> + + * examples/connect.c: usage patch from Riley Patterson. + * examples/sendtr.c: dito. Plus only try to add track to an + album if and only if an album name was given. + * examples/newfolder.c: real bad bug fixed, didn't even work + due to bad args check. + * examples/sendfile.c: another bad bug... + * examples/common.h: include <config.h> not "config.h" + * src/unicode.h: no reason for this to include config.h! + 2008-12-21 Linus Walleij <triad@df.lth.se> * Release libmtp 0.3.5. @@ -465,6 +465,9 @@ cannot test your solution. "blacklist usb-storage". Some have even removed the "usb-storage.ko" (kernel module file) to avoid loading. +* Sandisk Sansa Fuze has three modes: auto, MTP or mass storage + (MSC). Please set it to MTP to avoid problems with libmtp. + * The iriver devices (possibly all of them) cannot handle the enhanced GetObjectPropList MTP command (0x9805) properly. So they have been banned from using it. diff --git a/examples/common.h b/examples/common.h index 26f3bcf..ec41bb8 100644 --- a/examples/common.h +++ b/examples/common.h @@ -22,7 +22,7 @@ */ #include <libmtp.h> #ifndef _MSC_VER -#include "config.h" +#include <config.h> #ifdef HAVE_GETOPT_H #include <getopt.h> #else diff --git a/examples/connect.c b/examples/connect.c index e6c4fbd..157dcbb 100644 --- a/examples/connect.c +++ b/examples/connect.c @@ -3,7 +3,7 @@ * Main programs implementing several utilities in one. * * Copyright (C) 2006 Chris A. Debenham <chris@adebenham.com> - * Copyright (C) 2008 Linus Walleij <triad@df.lth.se> + * Copyright (C) 2008-2009 Linus Walleij <triad@df.lth.se> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -76,11 +76,6 @@ usage(void) int main (int argc, char **argv) { - if ( argc < 2 ) { - usage (); - return 1; - } - checklang(); LIBMTP_Init(); @@ -106,6 +101,11 @@ int main (int argc, char **argv) } else if ((strncmp(basename(argv[0]),"mtp-sendtr",10) == 0) || (strncmp(basename(argv[0]),"sendtr",6) == 0)) { sendtrack_command(argc, argv); } else { + if ( argc < 2 ) { + usage (); + return 1; + } + while (1) { int option_index = 0; static struct option long_options[] = { diff --git a/examples/newfolder.c b/examples/newfolder.c index 420fe37..198e10f 100644 --- a/examples/newfolder.c +++ b/examples/newfolder.c @@ -2,7 +2,7 @@ * \file newfolder.c * Example program to create a folder on the device. * - * Copyright (C) 2006-2007 Linus Walleij <triad@df.lth.se> + * Copyright (C) 2006-2009 Linus Walleij <triad@df.lth.se> * Copyright (C) 2006 Chris A. Debenham <chris@adebenham.com> * * This library is free software; you can redistribute it and/or @@ -35,7 +35,7 @@ void newfolder_command (int argc, char **argv) { uint32_t newid; - if(argc != 3) { + if(argc != 4) { printf("Usage: newfolder name <parent> <storage>\n"); printf(" parent = parent folder or 0 to create the new folder in the root dir\n"); printf(" storage = storage id or 0 to create the new folder on the primary storage\n"); diff --git a/examples/sendfile.c b/examples/sendfile.c index dd52ad3..a98a3da 100644 --- a/examples/sendfile.c +++ b/examples/sendfile.c @@ -2,7 +2,7 @@ * \file sendfile.c * Example program to send an arbitrary file to a device. * - * Copyright (C) 2005-2007 Linus Walleij <triad@df.lth.se> + * Copyright (C) 2005-2009 Linus Walleij <triad@df.lth.se> * Copyright (C) 2006 Chris A. Debenham <chris@adebenham.com> * * This library is free software; you can redistribute it and/or @@ -85,7 +85,7 @@ int sendfile_function(char * from_path, char *to_path) genfile->filesize = filesize; genfile->filename = strdup(filename); genfile->filetype = find_filetype (filename); - genfile->parent_id = 0; + genfile->parent_id = parent_id; genfile->storage_id = 0; printf("Sending file...\n"); diff --git a/examples/sendtr.c b/examples/sendtr.c index 484cc3e..b99d4d9 100644 --- a/examples/sendtr.c +++ b/examples/sendtr.c @@ -5,7 +5,7 @@ * based on Enrique Jorreto Ledesma's work on the original program by * Shaun Jackman and Linus Walleij. * - * Copyright (C) 2003-2008 Linus Walleij <triad@df.lth.se> + * Copyright (C) 2003-2009 Linus Walleij <triad@df.lth.se> * Copyright (C) 2003-2005 Shaun Jackman * Copyright (C) 2003-2005 Enrique Jorrete Ledesma * Copyright (C) 2006 Chris A. Debenham <chris@adebenham.com> @@ -369,7 +369,8 @@ int sendtrack_function(char * from_path, char * to_path, char *partist, char *pa } /* Add here add to album call */ - ret = add_track_to_album(albuminfo, trackmeta); + if (palbum) + ret = add_track_to_album(albuminfo, trackmeta); LIBMTP_destroy_album_t(albuminfo); LIBMTP_destroy_track_t(trackmeta); @@ -443,6 +444,7 @@ void sendtrack_command (int argc, char **argv) { if ( argc != 2 ) { printf("You need to pass a filename and destination.\n"); sendtrack_usage(); + return; } checklang(); diff --git a/logs/mtp-detect-iriver-t7-volcano.txt b/logs/mtp-detect-iriver-t7-volcano.txt new file mode 100644 index 0000000..03ead6e --- /dev/null +++ b/logs/mtp-detect-iriver-t7-volcano.txt @@ -0,0 +1,207 @@ +~$ mtp-detect + +libmtp version: 0.3.3 + +Listing raw device(s) + Found 1 device(s): + 1043:1143 @ bus 0, dev 9 +Attempting to connect device(s) +USB low-level info: + Using kernel interface "usbfs" + bcdUSB: 512 + bDeviceClass: 255 + bDeviceSubClass: 0 + bDeviceProtocol: 0 + idVendor: 1043 + idProduct: 1143 + IN endpoint maxpacket: 512 bytes + OUT endpoint maxpacket: 512 bytes + Raw device info: + Bus location: 0 + Device number: 9 + Device entry info: + Vendor: (null) + Vendor id: 0x1043 + Product: (null) + Vendor id: 0x1143 + Device flags: 0x00000000 +Microsoft device descriptor 0xee: + 0000: 1203 4d00 5300 4600 5400 3100 3000 3000 ..M.S.F.T.1.0.0. + 0010: fe00 .. +Microsoft device response to control message 1, CMD 0xfe: + 0000: 2800 0000 0001 0400 0100 0000 0000 0000 (............... + 0010: 0001 4d54 5000 0000 0000 0000 0000 0000 ..MTP........... + 0020: 0000 0000 0000 0000 ........ +Microsoft device response to control message 2, CMD 0xfe: + 0000: 2800 0000 0001 0400 0100 0000 0000 0000 (............... + 0010: 0001 4d54 5000 0000 0000 0000 0000 0000 ..MTP........... + 0020: 0000 0000 0000 0000 ........ +Device info: + Manufacturer: iriver + Model: iriver T7 + Device version: MTP-1.01-N-ENG + Serial number: A00000600001 + Vendor extension ID: 0x00000006 + Vendor extension description: microsoft.com: 1.0; +microsoft.com/WMDRMPD: 10.1; microsoft.com/WMPPD: 10.0; + Detected object size: 64 bits +Supported operations: + 1001: get device info + 1002: Open session + 1003: Close session + 1004: Get storage IDs + 1005: Get storage info + 1006: Get number of objects + 1007: Get object handles + 1008: Get object info + 1009: Get object + 100b: Delete object + 100c: Send object info + 100d: Send object + 100f: Format storage + 1010: Reset device + 1014: Get device property description + 1015: Get device property value + 1016: Set device property value + 9801: Get object properties supported + 9802: Get object property description + 9803: Get object property value + 9804: Set object property value + 9810: Get object references + 9811: Set object references + 9101: Get secure time challenge + 9102: Get secure time response + 9103: Set license response + 9104: Get sync list + 9105: Send meter challenge query + 9106: Get meter challenge + 9107: Get meter response + 9108: Clean data store + 9109: Get license state +Events supported: + 0x4004 + 0x4005 +Device Properties Supported: + 0xd101: Secure Time + 0xd102: Device Certificate +Playable File (Object) Types and Object Properties Supported: + 3000: Undefined Type + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc44: Name STRING data type GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + 3001: Association/Directory + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc44: Name STRING data type GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + 3009: MP3 + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc44: Name STRING data type GET/SET + dc46: Artist STRING data type GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET + dc8c: Genre STRING data type GET/SET + dc96: Composer STRING data type GET/SET + dc9a: AlbumName STRING data type GET/SET + de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY + de94: NumberOfChannels UINT16 data type enumeration: 2, READ ONLY + de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY + b901: WMA + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc44: Name STRING data type GET/SET + dc46: Artist STRING data type GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET + dc8c: Genre STRING data type GET/SET + dc96: Composer STRING data type GET/SET + dc9a: AlbumName STRING data type GET/SET + de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY + de94: NumberOfChannels UINT16 data type enumeration: 2, READ ONLY + de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 384000, STEP 1 READ ONLY + ba03: Abstract Audio Album + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc44: Name STRING data type GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc81: RepresentativeSampleFormat UINT16 data type enumeration: READ ONLY + dc8c: Genre STRING data type GET/SET + ba05: Abstract Audio Video Playlist + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc44: Name STRING data type GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET +Storage Devices: + StorageID: 0x00010001 + StorageType: 0x0004 removable RAM storage + FilesystemType: 0x0002 generic hierarchical + AccessCapability: 0x0000 read/write + MaxCapacity: 4059193344 + FreeSpaceInBytes: 4059160576 + FreeSpaceInObjects: 4294967295 + StorageDescription: iriver T7 files + VolumeIdentifier: (null) +Special directories: + Default music folder: 0x00000000 + Default playlist folder: 0x00000000 + Default picture folder: 0x00000000 + Default video folder: 0x00000000 + Default organizer folder: 0x00000000 + Default zencast folder: 0x00000000 + Default album folder: 0x00000000 + Default text folder: 0x00000000 +MTP-specific device properties: + Friendly name: (NULL) + Synchronization partner: (NULL) +libmtp supported (playable) filetypes: + ISO MPEG-1 Audio Layer 3 + Microsoft Windows Media Audio + +Secure Time: +<DRMCLOCK type="status"><VALUE>#20080114 +19:26:48Z#</VALUE><FLAG>DRM_CLK_NOT_SET</FLAG></DRMCLOCK> + +Device Certificate: +<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID +private="1">nrDQMNYHb0qoz1fqYUDqxmFA6sY=</UNIQUEID><PUBLICKEY +private="1">WbWEVwzD/6k56XKst4OnRTXFJSFurpcN/nEqZeM8/1nMhaqcqrUEQw==</PUBLICKEY><KEYDATA>yZBMmoENcUJrZlqoKjB3RqWbZBk=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>WbWEVwzD/6k56XKst4OnRTXFJSENGS5l+4hHr9gLDu1ThP1y59iwSQ==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>AZDXn3sieh4rYaQNQl/MdIAKcL0=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.111.31</SECURITYVERSION><CERTIFICATE +private="1">WbWEVwzD/6k56XKst4OnRTXFJSFurpcN/nEqZeM8/1nMhaqcqrUEQwIEbx9ZtYRXDMP/qTnpcqy3g6dFNcUlIf4NogOPQJYt/s2w7iE5BAM/r9Iq</CERTIFICATE></FALLBACK><CERTIFICATE +type="GROUP"><DATA><NAME>T7</NAME><MANUFACTURER>iriver</MANUFACTURER><MAKE>iriver</MAKE><DISTRIBUTOR>iriver</DISTRIBUTOR><MODEL>T7</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1.0</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>1.0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1.0</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>1.0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>0</SYMMETRIC_OPT></FEATURES><LIMITS><MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>6656</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>3BpF6JtA7FbR1nASAkawbHYRtEWT5o8TrP7a2L6Bvxb7/P0+i5NLLA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>WRTND1A2JBpLj8Qsi40ZqMRWx4h/7FCW2OCTmtILKq2DJfeA99WGVg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE +type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>2691</AUTH_ID><PUBLICKEY>WmzVzzbfShRhYsmIVMx/NHFUoxx4e0Mw84ZZX/Jkb5TDaeO2+Y3whA==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>GU1KjL5g1ZWk23mePnHrT1lJSWscoAt36qwgV2jL+BX5R/uUTr3ADg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE +type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>97tzJe/maHwwV07tt0FoMe84Hn9adZfKZ7PJ9j3dWh11FiAzG8jxJA==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT> +WMPInfo.xml Does not exist on this device +OK. diff --git a/logs/mtp-detect-samsung-yp-q1.txt b/logs/mtp-detect-samsung-yp-q1.txt new file mode 100644 index 0000000..3bab299 --- /dev/null +++ b/logs/mtp-detect-samsung-yp-q1.txt @@ -0,0 +1,429 @@ +PTP: Opening session +PTP_ERROR_IO: Trying again after re-initializing USB interface +PTP: Opening session +libmtp version: 0.3.3 + +Listing raw device(s) + Found 1 device(s): + Samsung: YP-Q1 (04e8:5115) @ bus 0, dev 8 +Attempting to connect device(s) +USB low-level info: + Using kernel interface "usbfs" + bcdUSB: 512 + bDeviceClass: 0 + bDeviceSubClass: 0 + bDeviceProtocol: 0 + idVendor: 04e8 + idProduct: 5115 + IN endpoint maxpacket: 512 bytes + OUT endpoint maxpacket: 512 bytes + Raw device info: + Bus location: 0 + Device number: 8 + Device entry info: + Vendor: Samsung + Vendor id: 0x04e8 + Product: YP-Q1 + Vendor id: 0x5115 + Device flags: 0x00000002 +Microsoft device descriptor 0xee: + 0000: 1203 4d00 5300 4600 5400 3100 3000 3000 ..M.S.F.T.1.0.0. + 0010: 0100 .. +Device info: + Manufacturer: SAMSUNG + Model: Q1 + Device version: 1.23 + Serial number: 9A255DFB0019261397A0DE7CF0008F16 + Vendor extension ID: 0x00000006 + Vendor extension description: microsoft.com/WMPPD: 11.0;microsoft.com/WMDRMPD: 10.1;microsoft.com/WMPPD: 10.0;microsoft.com/AAVT: 1.0;microsoft.com/WMDRMND: 1.0;audible.com: 1.0; + Detected object size: 64 bits +Supported operations: + 1001: get device info + 1002: Open session + 1003: Close session + 1004: Get storage IDs + 1005: Get storage info + 1006: Get number of objects + 1007: Get object handles + 1008: Get object info + 1009: Get object + 100b: Delete object + 100c: Send object info + 100d: Send object + 100f: Format storage + 1010: Reset device + 1014: Get device property description + 1015: Get device property value + 1016: Set device property value + 9810: Get object references + 9811: Set object references + 9802: Get object property description + 9801: Get object properties supported + 9803: Get object property value + 9804: Set object property value + 9805: Get object property list + 9806: Set object property list + 101b: Get partial object + 9201: Report Added/Deleted Items + 9202: Report Acquired Items + 9101: Get secure time challenge + 9102: Get secure time response + 9103: Set license response + 9104: Get sync list + 9105: Send meter challenge query + 9106: Get meter challenge + 9107: Get meter response + 9108: Clean data store + 9109: Get license state + 910a: Send WMDRM-PD Command + 910b: Send WMDRM-PD Request + 9170: Open Media Session + 9171: Close Media Session + 9172: Get Next Data Block + 9173: Set Current Time Position + 9180: Send Registration Request + 9181: Get Registration Response + 9182: Get Proximity Challenge + 9183: Send Proximity Response + 9184: Send WMDRM-ND License Request + 9185: Get WMDRM-ND License Response +Events supported: + 0x4004 + 0x4005 +Device Properties Supported: + 0x5001: Battery Level + 0xd401: Synchronization Partner + 0xd402: Friendly Device Name + 0xd101: Secure Time + 0xd102: Device Certificate + 0xd103: Revocation Info +Playable File (Object) Types and Object Properties Supported: + 3001: Association/Directory + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + dc9a: AlbumName STRING data type GET/SET + 3009: MP3 + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET + de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY + de9a: AudioBitRate UINT32 data type range: MIN 8000, MAX 320000, STEP 1 READ ONLY + de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222, GET/SET + de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET + de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3, GET/SET + dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET + dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET + dc46: Artist STRING data type GET/SET + dc8c: Genre STRING data type GET/SET + dc9a: AlbumName STRING data type GET/SET + dc9b: AlbumArtist STRING data type GET/SET + b901: WMA + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + dc89: Duration UINT32 data type range: MIN 0, MAX 268435456, STEP 1 GET/SET + de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY + de9a: AudioBitRate UINT32 data type range: MIN 5000, MAX 320000, STEP 1 READ ONLY + de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222, GET/SET + de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET + de92: BitRateType UINT16 data type enumeration: 0, 1, 2, 3, GET/SET + dc8b: Track UINT16 data type ANY 16BIT VALUE form GET/SET + dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET + dc46: Artist STRING data type GET/SET + dc8c: Genre STRING data type GET/SET + dc9a: AlbumName STRING data type GET/SET + dc9b: AlbumArtist STRING data type GET/SET + 3801: JPEG + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + dc87: Width UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET + dc88: Height UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET + 380b: PNG + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + dc87: Width UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET + dc88: Height UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET + 3804: BMP + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + dc87: Width UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET + dc88: Height UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET + 3807: GIF + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + dc87: Width UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET + dc88: Height UINT32 data type range: MIN 1, MAX 640, STEP 1 GET/SET + b981: WMV + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET + dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET + de97: ScanDepth UINT16 data type enumeration: 1, READ ONLY + de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 20000, 25000, 29970, 30000, GET/SET + de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911, GET/SET + de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET + de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET + dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET + dc8c: Genre STRING data type GET/SET + de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY + de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY + de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222, GET/SET + de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET + dea1: EncodingProfile STRING data type GET/SET + 300c: ASF + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + dc87: Width UINT32 data type range: MIN 1, MAX 320, STEP 1 GET/SET + dc88: Height UINT32 data type range: MIN 1, MAX 240, STEP 1 GET/SET + de97: ScanDepth UINT16 data type enumeration: 1, READ ONLY + de9d: FramesPerThousandSeconds UINT32 data type enumeration: 0, 20000, 25000, 29970, 30000, GET/SET + de9b: VideoFourCCCodec UINT32 data type enumeration: 0, 859189832, 958804552, 1195724877, 827739479, 844516695, 861293911, GET/SET + de9e: KeyFrameDistance UINT32 data type range: MIN 100, MAX 300, STEP 1 GET/SET + de9c: VideoBitRate UINT32 data type range: MIN 1, MAX 850000, STEP 1 GET/SET + dc99: OriginalReleaseDate STRING data type DATETIME FORM GET/SET + dc8c: Genre STRING data type GET/SET + de93: SampleRate UINT32 data type range: MIN 8000, MAX 48000, STEP 50 READ ONLY + de9a: AudioBitRate UINT32 data type range: MIN 1, MAX 320000, STEP 1 READ ONLY + de99: AudioWAVECodec UINT32 data type enumeration: 0, 1, 2, 3, 8, 9, 11, 49, 50, 80, 85, 352, 353, 354, 355, 356, 41222, GET/SET + de94: NumberOfChannels UINT16 data type enumeration: 1, 2, GET/SET + dea1: EncodingProfile STRING data type GET/SET + 3001: Association/Directory + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + dc9a: AlbumName STRING data type GET/SET + ba05: Abstract Audio Video Playlist + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + 3000: Undefined Type + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + b802: Firmware + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + ba03: Abstract Audio Album + dc44: Name STRING data type GET/SET + dc01: StorageID UINT32 data type ANY 32BIT VALUE form READ ONLY + dc04: ObjectSize UINT64 data type READ ONLY + dc07: ObjectFileName STRING data type REGULAR EXPRESSION FORM GET/SET + dc09: DateModified STRING data type DATETIME FORM GET/SET + dc4f: NonConsumable UINT8 data type enumeration: 0, 1, GET/SET + dc02: ObjectFormat UINT16 data type ANY 16BIT VALUE form READ ONLY + dc0b: ParentObject UINT32 data type ANY 32BIT VALUE form READ ONLY + dc41: PersistantUniqueObjectIdentifier UINT128 data type READ ONLY + dc03: ProtectionStatus UINT16 data type enumeration: 0, 1, READ ONLY + dc97: EffectiveRating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc8a: Rating UINT16 data type range: MIN 0, MAX 100, STEP 1 GET/SET + dc91: UseCount UINT32 data type ANY 32BIT VALUE form GET/SET + d901: BuyFlag UINT8 data type ANY 8BIT VALUE form GET/SET + dc86: RepresentativeSampleData array of UINT8 data type byte array: GET/SET + dc81: RepresentativeSampleFormat UINT16 data type enumeration: 14337, READ ONLY + dc83: RepresentativeSampleHeight UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY + dc84: RepresentativeSampleWidth UINT32 data type range: MIN 0, MAX 1000000, STEP 1 READ ONLY + dc82: RepresentativeSampleSize UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY + dc9b: AlbumArtist STRING data type GET/SET + dc46: Artist STRING data type GET/SET + dc8c: Genre STRING data type GET/SET +Storage Devices: + StorageID: 0x00010001 + StorageType: 0x0003 fixed RAM storage + FilesystemType: 0x0002 generic hierarchical + AccessCapability: 0x0000 read/write + MaxCapacity: 3959422976 + FreeSpaceInBytes: 2829459456 + FreeSpaceInObjects: 11755 + StorageDescription: Internal Storage + VolumeIdentifier: 9A255DFB0019261397A0DE7CF0008F16 +Special directories: + Default music folder: 0x20000003 + Default playlist folder: 0x20000007 + Default picture folder: 0x20000005 + Default video folder: 0x20000004 + Default organizer folder: 0x00000000 + Default zencast folder: 0x20000008 + Default album folder: 0x00000000 + Default text folder: 0x20000006 +MTP-specific device properties: + Friendly name: Q1 + Synchronization partner: Longhorn Sync Engine + Battery level 100 of 100 (100%) +libmtp supported (playable) filetypes: + ISO MPEG-1 Audio Layer 3 + Microsoft Windows Media Audio + JPEG file + Portable Network Graphics + BMP bitmap file + GIF bitmap file + Microsoft Windows Media Video + Microsoft Advanced Systems Format + Firmware file + +Secure Time: +<DRMCLOCK type="status"><VALUE>#20080216 04:57:42Z#</VALUE><FLAG>DRM_CLK_NEEDS_REFRESH</FLAG></DRMCLOCK>AG></DRMCLOCK> + +Device Certificate: +<DEVCERT version="1.0"><CERTIFICATE type="DEVICE"><DATA><UNIQUEID private="1">miVd+wAZJhOXoN588ACPFgAAAAA=</UNIQUEID><PUBLICKEY private="1">f5ZTnfdVJCBr+EZcGcyOeItdZGTzCMoua/q75vyJmbbRkCsiiGONXA==</PUBLICKEY><KEYDATA>9Vf+jY5NiA6PGacv7Svi9vn5OVI=</KEYDATA></DATA><MSDRM_SIGNATURE_VALUE>WQpEBcHBBUV+Xx+/UkHSMkwvolOFQPWF5zmJI9oBbCaC1DNC2XFBQg==</MSDRM_SIGNATURE_VALUE><SYMSIGNATURE>NS9/kxJ4fUU/xtsm2rzt1EMMWrw=</SYMSIGNATURE></CERTIFICATE><FALLBACK><SECURITYVERSION>2.4.108.81</SECURITYVERSION><CERTIFICATE private="1">f5ZTnfdVJCBr+EZcGcyOeItdZGTzCMoua/q75vyJmbbRkCsiiGONXAIEbFGfuQhkfsFBSgpanwXNtdYK2FqFO0xvoaG8W14Te4ivup3gxJLYbLkx</CERTIFICATE></FALLBACK><CERTIFICATE type="GROUP"><DATA><NAME>YP-T10</NAME><MANUFACTURER>Samsung</MANUFACTURER><MAKE>Samsung</MAKE><DISTRIBUTOR>WorldWideImporters</DISTRIBUTOR><MODEL>YP-T10</MODEL><SECURITYLEVEL>2000</SECURITYLEVEL><HARDWARE_VER_MAJOR>1</HARDWARE_VER_MAJOR><HARDWARE_VER_MINOR>0</HARDWARE_VER_MINOR><FIRMWARE_VER_MAJOR>1</FIRMWARE_VER_MAJOR><FIRMWARE_VER_MINOR>0</FIRMWARE_VER_MINOR><FEATURES><CLOCK>2</CLOCK><SECURECLOCK><URL>http://go.microsoft.com/fwlink/?LinkId=25817</URL><PUBLICKEY>!CNhvvz1WaNV1AFUmetxkvm9iD4UrE9cnGUi!qcqdxMiXmD1*ikYGA==</PUBLICKEY></SECURECLOCK><METERING>1</METERING><LICENSE_ACQ>0</LICENSE_ACQ><LICENSE_SYNC>1</LICENSE_SYNC><ENCRYPTION>0</ENCRYPTION><SYMMETRIC_OPT>1</SYMMETRIC_OPT></FEATURES><LIMITS><PTP: Closing session +inep: usb_get_endpoint_status(): Connection timed out +outep: usb_get_endpoint_status(): Connection timed out +usb_clear_halt() on IN endpoint: Connection timed out +usb_clear_halt() on OUT endpoint: Connection timed out +usb_clear_halt() on INTERRUPT endpoint: Connection timed out +MAXCHAINDEPTH>2</MAXCHAINDEPTH><MAXLICENSESIZE>10240</MAXLICENSESIZE><MAXHEADERSIZE>5120</MAXHEADERSIZE></LIMITS><PUBLICKEY>vRW/PPkzAfSzYbHv8LiL7SlduCMIW81dE7wFRuHHwZRIpgo8I6RGWg==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>+leZFfHTUpPiJuxKrZY2NGc/E1NDZTaCFl84wvYcHSHdyMBbTL0AJw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION"><DATA><SECURITYLEVEL>2000</SECURITYLEVEL><AUTH_ID>1973</AUTH_ID><PUBLICKEY>LA99x43GKtSfbrir3YWgsHH/Ih/txGBoe5E8LV4KVNb9uQABohtMDw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>rId2DudMrmY+yzso2pVn0lNzYIHUpiH/CJBb+TvgT7FOGD7omELtGw==</MSDRM_SIGNATURE_VALUE></CERTIFICATE><CERTIFICATE type="AUTHORIZATION_ROOT"><DATA><AUTH_ID>1</AUTH_ID><PUBLICKEY>a1t3hxrg!qbOgktnbYaEEi4teCse!gz6RvTPuC!zizKJlpU7xoduSw==</PUBLICKEY></DATA><MSDRM_SIGNATURE_VALUE>SmPt0XQ5U8r9y+GecoWQ/zMpF2YxJ/6kRzS3tQKbVjUY2kJGVpqoJg==</MSDRM_SIGNATURE_VALUE></CERTIFICATE></DEVCERT> +WMPInfo.xml Does not exist on this device +OK. + + diff --git a/src/music-players.h b/src/music-players.h index f8c90fe..2d48001 100644 --- a/src/music-players.h +++ b/src/music-players.h @@ -3,7 +3,7 @@ * List of music players as USB ids. * * Copyright (C) 2005-2007 Richard A. Low <richard@wentnet.com> - * Copyright (C) 2005-2008 Linus Walleij <triad@df.lth.se> + * Copyright (C) 2005-2009 Linus Walleij <triad@df.lth.se> * Copyright (C) 2006-2007 Marcus Meissner * Copyright (C) 2007 Ted Bullock * @@ -206,6 +206,8 @@ { "Philips", 0x0471, "GoGear SA6125/SA6145/SA6185", 0x2002, DEVICE_FLAG_UNLOAD_DRIVER }, // From anonymous Sourceforge user, not verified to be MTP! { "Philips", 0x0471, "GoGear SA3345", 0x2004, DEVICE_FLAG_UNLOAD_DRIVER }, + // From Roberto Vidmar <rvidmar@libero.it> + { "Philips", 0x0471, "SA5285", 0x2022, DEVICE_FLAG_UNLOAD_DRIVER }, // from XNJB user { "Philips", 0x0471, "PSA235", 0x7e01, DEVICE_FLAG_NONE }, @@ -268,6 +270,10 @@ { "SanDisk", 0x0781, "Sansa c240/c250", 0x7450, DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, + // Reported by anonymous SourceForge user + { "SanDisk", 0x0781, "Sansa c250 v2", 0x7452, + DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST_ALL | + DEVICE_FLAG_NO_RELEASE_INTERFACE | DEVICE_FLAG_CANNOT_HANDLE_DATEMODIFIED }, // Reported by Troy Curtis Jr. { "SanDisk", 0x0781, "Sansa Express", 0x7460, DEVICE_FLAG_UNLOAD_DRIVER | DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | @@ -300,6 +306,8 @@ { "iRiver", 0x1006, "Portable Media Center", 0x4003, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | DEVICE_FLAG_IRIVER_OGG_ALZHEIMER }, + // From [st]anislav <iamstanislav@gmail.com> + { "iRiver", 0x1042, "T7 Volcano", 0x1143, DEVICE_FLAG_NONE }, // From an anonymous person at SourceForge, uncertain about this one { "iRiver", 0x4102, "iFP-880", 0x1008, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_NO_ZERO_READS | @@ -623,6 +631,9 @@ // Reported by Joseph Nahmias <joe@nahimas.net> { "LG Electronics Inc.", 0x1004, "VX8550 V CAST Mobile Phone", 0x6010, DEVICE_FLAG_BROKEN_MTPGETOBJPROPLIST | DEVICE_FLAG_ALWAYS_PROBE_DESCRIPTOR }, + // Reported by Cyrille Potereau <cyrille.potereau@wanadoo.fr> + { "LG Electronics Inc.", 0x1004, "KC910 Renoir Mobile Phone", 0x608f, + DEVICE_FLAG_UNLOAD_DRIVER }, /* * Sony @@ -644,6 +655,8 @@ { "Sony", 0x054c, "Walkman NWZ-A726/NWZ-A728/NWZ-A768", 0x035c, DEVICE_FLAG_UNLOAD_DRIVER }, // Reported by Mehdi AMINI <mehdi.amini - at - ulp.u-strasbg.fr> { "Sony", 0x054c, "Walkman NWZ-B135", 0x036e, DEVICE_FLAG_UNLOAD_DRIVER }, + // Reported by <tiagoboldt@users.sourceforge.net> + { "Sony", 0x054c, "Walkman NWZ-E436F", 0x0385, DEVICE_FLAG_UNLOAD_DRIVER }, // Reported by Marco Filipe Nunes Soares Abrantes Pereira <marcopereira@ua.pt> { "Sony", 0x054c, "Walkman NWZ-S638F", 0x038e, DEVICE_FLAG_UNLOAD_DRIVER }, @@ -726,6 +739,12 @@ { "Polaroid", 0x0546, "Freescape/MPU-433158", 0x2035, DEVICE_FLAG_NONE }, /* + * Pioneer + */ + // Reported by Dan Allen <dan.j.allen@gmail.com> + { "Pioneer", 0x08e4, "XMP3", 0x0148, DEVICE_FLAG_NONE }, + + /* * Other strange stuff. */ { "Isabella", 0x0b20, "Her Prototype", 0xddee, DEVICE_FLAG_NONE } diff --git a/src/unicode.h b/src/unicode.h index 7f28a1a..f612c32 100644 --- a/src/unicode.h +++ b/src/unicode.h @@ -32,8 +32,6 @@ #ifndef __MTP__UNICODE__H #define __MTP__UNICODE__H -#include "config.h" - int ucs2_strlen(uint16_t const * const); char *utf16_to_utf8(LIBMTP_mtpdevice_t*,const uint16_t*); uint16_t *utf8_to_utf16(LIBMTP_mtpdevice_t*, const char*); |