Debugging MTP transmission/driver on windows

0

Basically I'm developing USB device, which will be using MTP for file transmission. It works fine with Konqueror, and Dolphin I can successfully copy files around, also mtp-getfile works (on Linux).

On windows I can see my device and list files, but when I try to copy any of them, I'm getting "Catastrophic error":

like here.

I'm logging all requests from computer to device (operation codes and params) and there is no pending operations during error, so I'm guessing that it's caused by something earlier (like missing support for something which should be presented in DeviceInfo response).

I tried looking in Event Viewer, but there is no sign of that failure, also details of device in device manager looks correct. Here is dump from mtp-detect fired on linux:

libmtp version: 1.1.16

Listing raw device(s)
USB low-level info:
   bcdUSB: 513
   bDeviceClass: 0
   bDeviceSubClass: 0
   bDeviceProtocol: 0
   idVendor: 0483
   idProduct: 572b
   IN endpoint maxpacket: 64 bytes
   OUT endpoint maxpacket: 64 bytes
   Raw device info:
      Bus location: 1
      Device number: 14
      Device entry info:
         Vendor: (null)
         Vendor id: 0x0483
         Product: (null)
         Vendor id: 0x572b
         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: test
   Model: Testowy
   Device version: 1.0
   Serial number: 123454321
   Vendor extension ID: 0x00000006
   Vendor extension description: microsoft.com: 1.0;
   Detected object size: 64 bits
   Extensions:
        microsoft.com: 1.0
Supported operations:
   1001: Get device info
   1002: Open session
   1003: Close session
   1004: Get storage IDs
   1005: Get storage info
   1006: Get number of objects
   1007: Get object handles
   1008: Get object info
   1009: Get object
   1014: Get device property description
   1015: Get device property value
   101b: Get partial object
   9801: Get object properties supported
   9802: Get object property description
   9803: Get object property value
   9805: Get object property list
   100a: Get thumbnail
   100b: Delete object
   100c: Send object info
   100d: Send object
   1010: Reset device
   1016: Set device property value
   1017: Reset device property value
   1019: Move object
   101a: Copy object
Events supported:
   0x4001: CancelTransaction
   0x4002: ObjectAdded
   0x4003: ObjectRemoved
   0x4004: StoreAdded
   0x4005: StoreRemoved
   0x4006: DevicePropChanged
   0x4007: ObjectInfoChanged
   0x4008: DeviceInfoChanged
   0x400a: StoreFull
   0x400c: StorageInfoChanged
Device Properties Supported:
Playable File (Object) Types and Object Properties Supported:
   3000: Undefined Type
      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc03: Protection Status UINT16 data type enumeration:  READ ONLY
      dc04: Object Size UINT64 data type READ ONLY
      dc05: Association Type UINT16 data type enumeration:  READ ONLY
      dc06: Association Desc UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc07: Object File Name STRING data type READ ONLY
      dc08: Date Created STRING data type READ ONLY
      dc09: Date Modified STRING data type READ ONLY
      dc0a: Keywords STRING data type READ ONLY
      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
   3004: Text
      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc03: Protection Status UINT16 data type enumeration:  READ ONLY
      dc04: Object Size UINT64 data type READ ONLY
      dc05: Association Type UINT16 data type enumeration:  READ ONLY
      dc06: Association Desc UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc07: Object File Name STRING data type READ ONLY
      dc08: Date Created STRING data type READ ONLY
      dc09: Date Modified STRING data type READ ONLY
      dc0a: Keywords STRING data type READ ONLY
      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
   3005: HTML
      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc03: Protection Status UINT16 data type enumeration:  READ ONLY
      dc04: Object Size UINT64 data type READ ONLY
      dc05: Association Type UINT16 data type enumeration:  READ ONLY
      dc06: Association Desc UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc07: Object File Name STRING data type READ ONLY
      dc08: Date Created STRING data type READ ONLY
      dc09: Date Modified STRING data type READ ONLY
      dc0a: Keywords STRING data type READ ONLY
      dc0b: Parent Object UINT32 data type ANY 32BIT VALUE form READ ONLY
   3001: Association/Directory
      dc01: Storage ID UINT32 data type ANY 32BIT VALUE form READ ONLY
      dc02: Object Format UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc03: Protection Status UINT16 data type enumeration:  READ ONLY
      dc04: Object Size UINT64 data type READ ONLY
      dc05: Association Type UINT16 data type enumeration:  READ ONLY
      dc06: Association Desc UINT16 data type ANY 16BIT VALUE form READ ONLY
      dc07: Object File Name STRING data type READ ONLY
      dc08: Date Created STRING data type READ ONLY
      dc09: Date Modified STRING data type READ ONLY
      dc0a: Keywords STRING data type READ ONLY
      dc0b: Parent Object 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: 16777214
      FreeSpaceInBytes: 1048573
      FreeSpaceInObjects: 4294967295
      StorageDescription: Big_storage
      VolumeIdentifier: 1111-2222-3333-4444
Special directories:
   Default music folder: 0xffffffff
   Default playlist folder: 0xffffffff
   Default picture folder: 0xffffffff
   Default video folder: 0xffffffff
   Default organizer folder: 0xffffffff
   Default zencast folder: 0xffffffff
   Default album folder: 0xffffffff
   Default text folder: 0xffffffff
MTP-specific device properties:
   Friendly name: (NULL)
   Synchronization partner: (NULL)
libmtp supported (playable) filetypes:
   Text file
   HTML file
   Folder

How can I see what exactly went wrong, or what's missing?

windows
usb
drivers
debug
mtp
asked on Super User Jan 15, 2019 by mily20001 • edited Jan 15, 2019 by Mr Shunz

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0