libmtp version: 1.1.12

Listing raw device(s)
   Found 1 device(s):
   GoPro: HERO5 Black (2672:0027) @ bus 3, dev 10
Attempting to connect device(s)
USB low-level info:
   Using kernel interface "usbfs"
   bcdUSB: 512
   bDeviceClass: 0
   bDeviceSubClass: 0
   bDeviceProtocol: 0
   idVendor: 2672
   idProduct: 0027
   IN endpoint maxpacket: 512 bytes
   OUT endpoint maxpacket: 512 bytes
   Raw device info:
      Bus location: 3
      Device number: 10
      Device entry info:
         Vendor: GoPro
         Vendor id: 0x2672
         Product: HERO5 Black
         Vendor id: 0x0027
         Device flags: 0x00000000
Device info:
   Manufacturer: GoPro
   Model: HERO5 Black
   Device version: HD5.02.01.50.00
   Serial number: C3161325800627
   Vendor extension ID: 0x00000006
   Vendor extension description: microsoft.com: 1.0;  microsoft.com/WMPPD: 11.0; microsoft.com/WMPPD: 10.0; microsoft.com/WMDRMPD: 10.1;
   Detected object size: 64 bits
   Extensions:
        microsoft.com: 1.0
        microsoft.com/WMPPD: 11.0
        microsoft.com/WMPPD: 10.0
        microsoft.com/WMDRMPD: 10.1
Supported operations:
   1001: Get device info
   1002: Open session
   1003: Close session
   1004: Get storage IDs
   1005: Get storage info
   1006: Get number of objects
   1007: Get object handles
   1008: Get object info
   1009: Get object
   100a: Get thumbnail
   101b: Get partial object
   100b: Delete object
   100c: Send object info
   100d: Send object
   100f: Format storage
   1010: Reset device
   1014: Get device property description
   1015: Get device property value
   1016: Set device property value
   900b: Unknown PTP_OC
   900c: Unknown PTP_OC
   900d: Unknown PTP_OC
   900e: Unknown PTP_OC
   9801: Get object properties supported
   9802: Get object property description
   9803: Get object property value
   9999: Unknown PTP_OC
Events supported:
   0x4001 ((null))
   0x4002 ((null))
   0x4003 ((null))
   0x4004 ((null))
   0x4005 ((null))
   0x4006 ((null))
   0x4007 ((null))
   0x4008 ((null))
   0x4009 ((null))
   0x400a ((null))
   0x400b ((null))
   0x400c ((null))
   0x400e ((null))
Device Properties Supported:
   0x5001: Battery Level
   0x5011: Date & Time
   0xd303: Unknown property
   0xd401: Synchronization Partner
   0xd402: Friendly Device Name
   0xd406: Session Initiator Info
   0xd407: Perceived Device Type
Playable File (Object) Types and Object Properties Supported:
   300d: Apple Quicktime
      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
      dc04: Object Size UINT64 data type READ ONLY
      dc07: Object File Name STRING data type GET/SET
      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
      dc44: Name STRING data type GET/SET
      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 READ ONLY
      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 READ ONLY
      dc89: Duration UINT32 data type range: MIN 0, MAX -1, STEP 1 READ ONLY
      dc08: Date Created STRING data type DATETIME FORM GET/SET
   3001: Association/Directory
      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
      dc04: Object Size UINT64 data type READ ONLY
      dc07: Object File Name STRING data type GET/SET
      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
      dc44: Name STRING data type GET/SET
   3801: JPEG
      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
      dc04: Object Size UINT64 data type READ ONLY
      dc07: Object File Name STRING data type GET/SET
      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
      dc44: Name STRING data type GET/SET
      dc87: Width UINT32 data type range: MIN 0, MAX 10000, STEP 1 READ ONLY
      dc88: Height UINT32 data type range: MIN 0, MAX 10000, STEP 1 READ ONLY
      dc08: Date Created STRING data type DATETIME FORM GET/SET
   3005: HTML
      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
      dc04: Object Size UINT64 data type READ ONLY
      dc07: Object File Name STRING data type GET/SET
      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
      dc44: Name STRING data type GET/SET
   3004: Text
      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
      dc04: Object Size UINT64 data type READ ONLY
      dc07: Object File Name STRING data type GET/SET
      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
      dc44: Name STRING data type GET/SET
   3000: Undefined Type
      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
      dc04: Object Size UINT64 data type READ ONLY
      dc07: Object File Name STRING data type GET/SET
      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
      dc44: Name STRING data type GET/SET
   3003: Executable
      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc03: Protection Status UINT16 data type enumeration: 0, 1,  READ ONLY
      dc04: Object Size UINT64 data type READ ONLY
      dc07: Object File Name STRING data type GET/SET
      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc41: Persistant Unique Object Identifier UINT128 data type READ ONLY
      dc44: Name STRING data type GET/SET
Storage Devices:
   StorageID: 0x00010001
      StorageType: 0x0004 removable RAM storage
      FilesystemType: 0x0002 generic hierarchical
      AccessCapability: 0x0002 read only + object deletion
      MaxCapacity: 63831015424
      FreeSpaceInBytes: 162922496
      FreeSpaceInObjects: 4294967295
      StorageDescription: GoPro MTP Client Disk Volume
      VolumeIdentifier: GoPro MTP Client SD slot
Special directories:
   Default music folder: 0xffffffff
   Default playlist folder: 0xffffffff
   Default picture folder: 0xffffffff
   Default video folder: 0xffffffff
   Default organizer folder: 0xffffffff
   Default zencast folder: 0xffffffff
   Default album folder: 0xffffffff
   Default text folder: 0xffffffff
MTP-specific device properties:
   Friendly name: HERO5 Black
   Synchronization partner: GoPro
   Battery level 100 of 100 (100%)
libmtp supported (playable) filetypes:
   Apple Quicktime container format
   Folder
   JPEG file
   HTML file
   Text file
OK.
