summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDirk Hohndel <dirk@hohndel.org>2020-10-26 16:43:29 -0700
committerDirk Hohndel <dirk@hohndel.org>2020-10-26 16:43:42 -0700
commit3bf05c6ab27380bc0bd814bc16ed00378cac6a18 (patch)
tree2f4e114b7056a74f7b11818fb38a03a408b3f32a
parent8fab31d154a7c8025d8c84c1ffc65b36a1e8c74c (diff)
downloadlibmtp-3bf05c6ab27380bc0bd814bc16ed00378cac6a18.tar.gz
add Garmin Descent Mk2i
It's possible that the Descent Mk2 has the same USB id, still trying to confirm this - but the log output here is from a Descent Mk2i. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r--logs/mtp-detect-garmin-descent-mk2i.txt258
-rw-r--r--src/music-players.h1
2 files changed, 259 insertions, 0 deletions
diff --git a/logs/mtp-detect-garmin-descent-mk2i.txt b/logs/mtp-detect-garmin-descent-mk2i.txt
new file mode 100644
index 0000000..0499297
--- /dev/null
+++ b/logs/mtp-detect-garmin-descent-mk2i.txt
@@ -0,0 +1,258 @@
+libmtp version: 1.1.18
+
+Listing raw device(s)
+Device 0 (VID=091e and PID=4cba) is a Garmin Descent Mk2i.
+ Found 1 device(s):
+ Garmin: Descent Mk2i (091e:4cba) @ bus 20, dev 49
+Attempting to connect device(s)
+USB low-level info:
+ bcdUSB: 512
+ bDeviceClass: 0
+ bDeviceSubClass: 0
+ bDeviceProtocol: 0
+ idVendor: 091e
+ idProduct: 4cba
+ IN endpoint maxpacket: 512 bytes
+ OUT endpoint maxpacket: 512 bytes
+ Raw device info:
+ Bus location: 20
+ Device number: 49
+ Device entry info:
+ Vendor: Garmin
+ Vendor id: 0x091e
+ Product: Descent Mk2i
+ Vendor id: 0x4cba
+ 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: Garmin
+ Model: Descent Mk2i
+ Device version: 400
+ Serial number: 0000c764561b
+ 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
+ 9007: Unknown PTP_OC
+ 9008: Unknown PTP_OC
+Events supported:
+ 0x4002: ObjectAdded
+ 0x4003: ObjectRemoved
+ 0x4006: DevicePropChanged
+ 0x4004: StoreAdded
+ 0x4005: StoreRemoved
+Device Properties Supported:
+ 0xd402: Friendly Device Name
+ 0xd405: Device Icon
+ 0xd407: Perceived Device Type
+Playable File (Object) Types and Object Properties Supported:
+ 3009: MP3
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc04: Object Size UINT64 data type READ ONLY GROUP 0x1
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY GROUP 0x1
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY GROUP 0x1
+ dc07: Object File Name STRING data type GET/SET GROUP 0x1
+ dc44: Name STRING data type READ ONLY GROUP 0x1
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY GROUP 0x1
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET GROUP 0x1
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY GROUP 0x1
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY GROUP 0x1
+ dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x2
+ dc46: Artist STRING data type READ ONLY GROUP 0x2
+ dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY GROUP 0x2
+ dc8c: Genre STRING data type READ ONLY GROUP 0x2
+ dc91: Use Count UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x2
+ dc9a: Album Name STRING data type READ ONLY GROUP 0x2
+ dc9b: Album Artist STRING data type READ ONLY GROUP 0x2
+ de93: Sample Rate UINT32 data type range: MIN 1000, MAX 96000, STEP 1 READ ONLY GROUP 0x2
+ de94: Number Of Channels UINT16 data type enumeration: 1, 2, READ ONLY GROUP 0x2
+ de9a: Audio Bit Rate UINT32 data type range: MIN 1024, MAX 819200, STEP 1 READ ONLY GROUP 0x2
+ de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 10, 80, 85, 146, 255, 353, 354, 355, 356, 5648, READ ONLY GROUP 0x2
+ b982: MP4
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc04: Object Size UINT64 data type READ ONLY GROUP 0x1
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY GROUP 0x1
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY GROUP 0x1
+ dc07: Object File Name STRING data type GET/SET GROUP 0x1
+ dc44: Name STRING data type READ ONLY GROUP 0x1
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY GROUP 0x1
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET GROUP 0x1
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY GROUP 0x1
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY GROUP 0x1
+ dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x2
+ dc46: Artist STRING data type READ ONLY GROUP 0x2
+ dc8b: Track UINT16 data type ANY 16BIT VALUE form READ ONLY GROUP 0x2
+ dc8c: Genre STRING data type READ ONLY GROUP 0x2
+ dc91: Use Count UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x3
+ dc9a: Album Name STRING data type READ ONLY GROUP 0x2
+ dc9b: Album Artist STRING data type READ ONLY GROUP 0x2
+ de93: Sample Rate UINT32 data type range: MIN 1000, MAX 96000, STEP 1 READ ONLY GROUP 0x3
+ de94: Number Of Channels UINT16 data type enumeration: 1, 2, READ ONLY GROUP 0x3
+ de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 10, 80, 85, 146, 255, 353, 354, 355, 356, 5648, READ ONLY GROUP 0x3
+ de9a: Audio Bit Rate UINT32 data type range: MIN 1024, MAX 819200, STEP 1 READ ONLY GROUP 0x3
+ ba11: M3U Playlist
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc04: Object Size UINT64 data type READ ONLY GROUP 0x1
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY GROUP 0x1
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY GROUP 0x1
+ dc07: Object File Name STRING data type GET/SET GROUP 0x1
+ dc44: Name STRING data type READ ONLY GROUP 0x1
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY GROUP 0x1
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET GROUP 0x1
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY GROUP 0x1
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY GROUP 0x1
+ dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x2
+ b903: AAC
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc04: Object Size UINT64 data type READ ONLY GROUP 0x1
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY GROUP 0x1
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY GROUP 0x1
+ dc07: Object File Name STRING data type GET/SET GROUP 0x1
+ dc44: Name STRING data type READ ONLY GROUP 0x1
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY GROUP 0x1
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET GROUP 0x1
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY GROUP 0x1
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY GROUP 0x1
+ dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x2
+ dc91: Use Count UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x6
+ de93: Sample Rate UINT32 data type range: MIN 1000, MAX 96000, STEP 1 READ ONLY GROUP 0x6
+ de94: Number Of Channels UINT16 data type enumeration: 1, 2, READ ONLY GROUP 0x6
+ de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 10, 80, 85, 146, 255, 353, 354, 355, 356, 5648, READ ONLY GROUP 0x6
+ de9a: Audio Bit Rate UINT32 data type range: MIN 1024, MAX 819200, STEP 1 READ ONLY GROUP 0x6
+ 3008: MS Wave
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc04: Object Size UINT64 data type READ ONLY GROUP 0x1
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY GROUP 0x1
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY GROUP 0x1
+ dc07: Object File Name STRING data type GET/SET GROUP 0x1
+ dc44: Name STRING data type READ ONLY GROUP 0x1
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY GROUP 0x1
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET GROUP 0x1
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY GROUP 0x1
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY GROUP 0x1
+ dc89: Duration UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x2
+ dc91: Use Count UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x7
+ de93: Sample Rate UINT32 data type range: MIN 1000, MAX 96000, STEP 1 READ ONLY GROUP 0x7
+ de94: Number Of Channels UINT16 data type enumeration: 1, 2, READ ONLY GROUP 0x7
+ de99: Audio WAVE Codec UINT32 data type enumeration: 0, 1, 10, 80, 85, 146, 255, 353, 354, 355, 356, 5648, READ ONLY GROUP 0x7
+ de9a: Audio Bit Rate UINT32 data type range: MIN 1024, MAX 819200, STEP 1 READ ONLY GROUP 0x7
+ ba05: Abstract Audio Video Playlist
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc04: Object Size UINT64 data type READ ONLY GROUP 0x1
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY GROUP 0x1
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY GROUP 0x1
+ dc07: Object File Name STRING data type GET/SET GROUP 0x1
+ dc44: Name STRING data type READ ONLY GROUP 0x1
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY GROUP 0x1
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET GROUP 0x1
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY GROUP 0x1
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY GROUP 0x1
+ 3004: Text
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc04: Object Size UINT64 data type READ ONLY GROUP 0x1
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY GROUP 0x1
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY GROUP 0x1
+ dc07: Object File Name STRING data type GET/SET GROUP 0x1
+ dc44: Name STRING data type READ ONLY GROUP 0x1
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY GROUP 0x1
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET GROUP 0x1
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY GROUP 0x1
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY GROUP 0x1
+ 3000: Undefined Type
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc04: Object Size UINT64 data type READ ONLY GROUP 0x1
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY GROUP 0x1
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY GROUP 0x1
+ dc07: Object File Name STRING data type GET/SET GROUP 0x1
+ dc44: Name STRING data type READ ONLY GROUP 0x1
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY GROUP 0x1
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET GROUP 0x1
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY GROUP 0x1
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY GROUP 0x1
+ 3001: Association/Directory
+ dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY GROUP 0x1
+ dc04: Object Size UINT64 data type READ ONLY GROUP 0x1
+ dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY GROUP 0x1
+ dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY GROUP 0x1
+ dc07: Object File Name STRING data type GET/SET GROUP 0x1
+ dc44: Name STRING data type READ ONLY GROUP 0x1
+ dc08: Date Created STRING data type DATETIME FORM READ ONLY GROUP 0x1
+ dc09: Date Modified STRING data type DATETIME FORM GET/SET GROUP 0x1
+ dc03: Protection Status UINT16 data type enumeration: 0, 1, 32770, 32771, READ ONLY GROUP 0x1
+ dc4f: Non Consumable UINT8 data type enumeration: 0, 1, READ ONLY GROUP 0x1
+Storage Devices:
+ StorageID: 0x00020001
+ StorageType: 0x0003 fixed RAM storage
+ FilesystemType: 0x0002 generic hierarchical
+ AccessCapability: 0x0000 read/write
+ MaxCapacity: 31192612864
+ FreeSpaceInBytes: 22305079296
+ FreeSpaceInObjects: 4294967295
+ StorageDescription: Primary
+ 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: Descent Mk2i
+ Synchronization partner: (NULL)
+libmtp supported (playable) filetypes:
+ ISO MPEG-1 Audio Layer 3
+ 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.
diff --git a/src/music-players.h b/src/music-players.h
index 2f0b53a..1d7778f 100644
--- a/src/music-players.h
+++ b/src/music-players.h
@@ -3794,6 +3794,7 @@
/* https://sourceforge.net/p/libmtp/bugs/1864/ */
{ "Garmin", 0x091e, "Venu", 0x4c9a, DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/bugs/1852/ */
+ { "Garmin", 0x091e, "Descent Mk2i", 0x4cba, DEVICE_FLAGS_ANDROID_BUGS },
{ "Garmin", 0x091e, "Fenix 6", 0x4cda, DEVICE_FLAGS_ANDROID_BUGS },
{ "Garmin", 0x091e, "Fenix 6 Sapphire", 0x4cdb, DEVICE_FLAGS_ANDROID_BUGS },
/* https://sourceforge.net/p/libmtp/bugs/1887/ */