Menu

#1728 GetPartialObject(0x101B/0x95C1) is not supported by "SONY Xperia Z1 MTP+ADB" (idVendor: 0fce,idProduct: 519e)

1.1.13
open
nobody
None
1
2017-09-26
2017-09-04
Anonymous
No

The Function LIBMTP_GetPartialObject() returns -1 when using the "SONY Xperia Z1 MTP+ADB" (idVendor: 0fce,idProduct: 519e).

Discussion

  • Anonymous

    Anonymous - 2017-09-04

    the "SONY Xperia Z1 MTP+ADB" (idVendor: 0fce,idProduct: 519e) support the operations like blow:
    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
    9806: Set object property list
    9808: Send 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
    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
    940c: Unknown PTP_OC
    940d: Unknown PTP_OC
    9407: Unknown PTP_OC
    9408: Unknown PTP_OC
    9409: Unknown PTP_OC

    it include the 101b: Get partial object and 95c1: Get Partial Object (64bit Offset), but i cannot get the data by the both operations.

     
  • Marcus Meissner

    Marcus Meissner - 2017-09-04

    is there any further debugoutput?
    export LIBMTP_DEBUG=255

    and debug output might be printed to stderr?

     
  • Anonymous

    Anonymous - 2017-09-05

    this is the log that i got:

    LIBMTP ptp_usb_sendreq[1184]: REQUEST: 0x95c1, Get Partial Object (64bit Offset)
    libusb: debug [add_to_flying_list] arm timerfd for timeout in 20000ms (first in line)
    libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 28
    libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
    libusb: debug [handle_events] poll() 4 fds with timeout in 60000ms
    libusb: debug [handle_events] poll() returned 1
    libusb: debug [reap_for_handle] urb type=3 status=0 transferred=28
    libusb: debug [handle_bulk_completion] handling completion status 0 of bulk urb 1/1
    libusb: debug [handle_bulk_completion] last URB in transfer --> complete!
    libusb: debug [disarm_timerfd]
    libusb: debug [usbi_handle_transfer_completion] transfer 0xb0c091f0 has callback 0xb4b7df14
    libusb: debug [sync_transfer_cb] actual_length=28
    LIBMTP ptp_write_func[1020]: USB OUT==>
    0000: 1c00 0000 0100 c195 2303 0000 2900 0000 ........#...)...
    0010: 0000 0500 0000 0000 0000 0100 ............
    LIBMTP ptp_usb_getdata[1324]: GET DATA PHASE
    LIBMTP ptp_read_func[865]: Remaining size to read: 0x0200 bytes
    LIBMTP ptp_read_func[894]: Reading in 0x0200 bytes
    libusb: debug [add_to_flying_list] arm timerfd for timeout in 20000ms (first in line)
    libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 512
    libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
    [PID=2258 TID=2258]handle_gst_bus_message(2902)libusb: debug [handle_events] poll() 4 fds with timeout in 60000ms
    libusb: debug [handle_events] poll() returned 1
    GST_MESSAGE_STATE_CHANGED: playbin0: NULL -> READY
    libusb: debug [reap_for_handle] urb type=3 status=0 transferred=12
    libusb: debug [handle_bulk_completion] handling completion status 0 of bulk urb 1/1
    libusb: debug [handle_bulk_completion] last URB in transfer --> complete!
    libusb: debug [disarm_timerfd]
    libusb: debug [usbi_handle_transfer_completion] transfer 0xaa6f04e8 has callback 0xb4b7df14
    libusb: debug [sync_transfer_cb] actual_length=12
    LIBMTP ptp_read_func[903]: Result of read: 0x0000 (12 bytes)
    LIBMTP ptp_read_func[908]: <==USB IN
    0000: 0c00 0000 0300 0520 2303 0000 ....... #...

    [231.180386][PID=2258 TID=22247]LIBMTP_GetPartialObject fail !!

    LIBMTP ptp_usb_sendreq[1184]: REQUEST: 0x95c1, Get Partial Object (64bit Offset)
    libusb: debug [add_to_flying_list] arm timerfd for timeout in 20000ms (first in line)
    libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 28
    [PID=2258 TID=2258]handle_gst_bus_message(2802)libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
    libusb: debug [handle_events] poll() 4 fds with timeout in 60000ms
    GST_MESSAGE_ERROR
    libusb: debug [handle_events] poll() returned 1
    libusb: debug [reap_for_handle] urb type=3 status=0 transferred=28
    libusb: debug [handle_bulk_completion] handling completion status 0 of bulk urb 1/1
    libusb: debug [handle_bulk_completion] last URB in transfer --> complete!
    libusb: debug [disarm_timerfd]
    [PID=2258 TID=2258]handle_gst_bus_message(2804)libusb: debug [usbi_handle_transfer_completion] transfer 0xb0c091f0 has callback 0xb4b7df14
    Error: Could not determine type of stream.
    libusb: debug [sync_transfer_cb] actual_length=28
    LIBMTP ptp_write_func[1020]: USB OUT==>
    0000: 1c00 0000 0100 c195 2403 0000 2900 0000 ........$...)...
    0010: 0000 0000 0000 0000 0000 0100 ............
    LIBMTP ptp_usb_getdata[1324]: GET DATA PHASE
    LIBMTP ptp_read_func[865]: Remaining size to read: 0x0200 bytes
    [PID=2258 TID=2258]handle_error_message(2452)LIBMTP ptp_read_func[894]: Reading in 0x0200 bytes
    libusb: debug [add_to_flying_list] arm timerfd for timeout in 20000ms (first in line)
    handle_error_message() Start
    libusb: debug [submit_bulk_transfer] need 1 urbs for new transfer with length 512
    [PID=2258 TID=2258]handle_error_message(2455)libusb: debug [libusb_handle_events_timeout_completed] doing our own event handling
    libusb: debug [handle_events] poll() 4 fds with timeout in 60000ms
    handle_error_message Handling error message from element typefind: 0xb0c0bc10A
    handle_error_message
    [PID=2258 TID=2258]check_missing_plugins_error(2415)check_missing_plugins_error() Start
    [PID=2258 TID=2258]error_from_gst_error(1549)error_from_gst_error() Start
    [PID=2258 TID=2258]clear_missing_plugins_messages(1532)clear_missing_plugins_messages() Start
    [PID=2258 TID=2258]handle_error_message(2471)handle_error_message GST_STATE_NULL
    [PID=2258 TID=2258]_state_change(419)phj set state 1.sRecState 1
    libusb: debug [handle_events] poll() returned 1
    libusb: debug [reap_for_handle] urb type=3 status=0 transferred=12
    libusb: debug [handle_bulk_completion] handling completion status 0 of bulk urb 1/1
    libusb: debug [handle_bulk_completion] last URB in transfer --> complete!
    libusb: debug [disarm_timerfd]
    libusb: debug [usbi_handle_transfer_completion] transfer 0xaa6f04e8 has callback 0xb4b7df14
    libusb: debug [sync_transfer_cb] actual_length=12
    LIBMTP ptp_read_func[903]: Result of read: 0x0000 (12 bytes)
    LIBMTP ptp_read_func[908]: <==USB IN
    0000: 0c00 0000 0300 0520 2403 0000 ....... $...

    [231.537779][PID=2258 TID=22247]LIBMTP_GetPartialObject fail !!

     
  • Marcus Meissner

    Marcus Meissner - 2017-09-07

    For opcode 95c1 it gets error 2005 aka "OperationNotSupported".

    which is weird, it should not report the opcode if it does not support it.

    DOes it work in non-ADB mode?

     
  • Anonymous

    Anonymous - 2017-09-26

    I try to use opcode 0x101B to get the partial object,it is OK.

     

Anonymous
Anonymous

Add attachments
Cancel