Nikon S3700 – connection problem

Home Forums Nikon S3700 – connection problem

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • #564
    g_fenton
    Participant

    My camera gets stuck “Negotiating…..Please wait” after it connects. If I try to rin Airnef, I get the following error:

    airnef v1.1 – Wireless transfer of images/movies for Nikon cameras [GPL v3]
    Copyright (c) TestCams.com, Time: 11/10/15 09:44:30, Py: 2.7.9, OS: Linux

    Connection established to 192.168.0.1:15740
    An exception occurred. Here is the stack trace information:
    Traceback (most recent call last):
    File “<string>”, line 3437, in appMain
    File “<string>”, line 1143, in startMtpSession
    File “<string>”, line 1307, in getMtpDeviceInfo
    File “<string>”, line 892, in parseMtpDeviceInfo
    File “<string>”, line 812, in removeLeadingCharsFromStr
    UnboundLocalError: local variable ‘charPos’ referenced before assignment

    I am running this on a Linux PC with Linux Mint kernel 4.3.0 and Cinnamon DE. Any help would be greatly appreciated.

    #565
    Adam
    Participant

    Can you try the same session with logging set to ‘debug’ and paste the resulting log here? Thanks.

    #566
    g_fenton
    Participant

    I am sorry that it took me so long. I was traveling for work. Per your request:

    airnef v1.1 – Wireless transfer of images/movies for Nikon cameras [GPL v3]
    Copyright (c) TestCams.com, Time: 11/16/15 12:52:59, Py: 2.7.9, OS: Linux

    Orig cmd line: [‘/home/gordon/airnef/airnefcmd’, ‘–action’, ‘listfiles’, ‘–ipaddress’, ‘192.168.0.1’, ‘–realtimedownload’, ‘afternormal’, ‘–logginglevel’, ‘debug’, ‘–extlist’, ‘JPG’, ‘ARW’, ‘–outputdir’, ‘/home/gordon/Pictures/Nikon Camera’, ‘–ifexists’, ‘uniquename’, ‘–slot’, ‘firstfound’, ‘–transferorder’, ‘newestfirst’, ‘–cameratransferlist’, ‘ignore’]
    Processed cmd line: {‘ssdp_addservice’: None, ‘connecttimeout’: 10, ‘printstackframes’: ‘no’, ‘excludefolders’: None, ‘rtd_maxsecsbeforeforceinitialobjlistget’: 5, ‘realtimedownload’: ‘disabled’, ‘outputdir’: ‘/home/gordon/Pictures/Nikon Camera’, ‘extlist’: set([‘JPG’, ‘ARW’]), ‘camerasleepwhendone’: ‘yes’, ‘slot’: ‘firstfound’, ‘startdate’: None, ‘filenamespec’: None, ‘downloadhistory’: ‘skipfiles’, ‘rtd_pollingmethod’: None, ‘maxgetobjbuffersizekb’: 32768, ‘sonyuniquecmdsenable’: 1, ‘ssdp_discoverytimeoutsecsperattempt’: 2, ‘ssdp_discoveryattempts’: 3, ‘initcmdreq_guid’: ‘0x7766554433221100-0x0000000000009988’, ‘downloadexec’: None, ‘ssdp_discoveryflags’: None, ‘ssdp_addmulticastif’: None, ‘cameratransferlist’: ‘ignore’, ‘socketreadwritetimeout’: 5, ‘opensessionid’: None, ‘retrydelaysecs’: 5, ‘downloadexec_options’: [], ‘ifexists’: ‘uniquename’, ‘dirnamespec’: None, ‘logginglevel’: ‘debug’, ‘retrycount’: 9223372036854775807, ‘mtpobjcache_maxagemins’: 0, ‘ipaddress’: ‘192.168.0.1’, ‘maxgetobjtransfersizekb’: 1024, ‘suppressdupconnecterrmsgs’: ‘yes’, ‘onlyfolders’: None, ‘downloadexec_extlist’: None, ‘enddate’: None, ‘realtimepollsecs’: 3, ‘maxclockdeltabeforesync’: ‘5’, ‘initcmdreq_hostver’: 65536, ‘mtpobjcache’: ‘enabled’, ‘action’: ‘listfiles’, ‘transferorder’: ‘newestfirst’, ‘rtd_mtppollingmethod_newobjdetection’: ‘objlist’, ‘initcmdreq_hostname’: ‘airnef’}
    openConnection(): Attempting connection to 192.168.0.1:15740
    Connection established to 192.168.0.1:15740
    sendInitCmdReq(): Sending MTP_TCPIP_REQ_INIT_CMD_REQ
    0000: 01 00 00 00 00 11 22 33 – 44 55 66 77 88 99 00 00 ……”3 – DUfw….
    0010: 00 00 00 00 61 00 69 00 – 72 00 6e 00 65 00 66 00 ….a.i. – r.n.e.f.
    0020: 00 00 00 00 01 00 ……
    sendInitCmdReq() response:
    0000: 02 00 00 00 53 4c 3e 50 – 30 30 31 31 32 32 33 33 ….SL>P – 00112233
    0010: 34 34 35 35 36 36 37 37 – 57 00 55 00 2d 00 31 00 44556677 – W.U.-.1.
    0020: 61 00 00 00 00 00 01 00 – a……. –
    Session ID = 0x503e4c53
    openConnection(): Attempting connection to 192.168.0.1:15740
    sendInitEvents(): Sending MTP_TCPIP_REQ_INIT_EVENTS
    0000: 03 00 00 00 53 4c 3e 50 – ….SL>P –
    sendInitEvents() response:
    0000: 04 00 00 00 ….
    sendProbeRequest(): Sending probe request
    0000: 0d 00 00 00 ….
    sendProbeRequest() response:
    0000: 0e 00 00 00 ….
    execMtpOp: MTP_OP_GetDeviceInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 01 10 01 00 00 00 …….. – ……
    execMtpOp: MTP_OP_GetDeviceInfo – DataStart payload [expected data bytes is 0x169]
    0000: 09 00 00 00 01 00 00 00 – 69 01 00 00 00 00 00 00 …….. – i…….
    execMtpOp: MTP_OP_GetDeviceInfo – Data payload [ID c] (0x00000171 bytes):
    0000: 0c 00 00 00 01 00 00 00 – 64 00 06 00 00 00 64 00 …….. – d…..d.
    0010: 23 6d 00 69 00 63 00 72 – 00 6f 00 73 00 6f 00 66 #m.i.c.r – .o.s.o.f
    0020: 00 74 00 2e 00 63 00 6f – 00 6d 00 2f 00 64 00 65 .t…c.o – .m./.d.e
    0030: 00 76 00 69 00 63 00 65 – 00 73 00 65 00 72 00 76 .v.i.c.e – .s.e.r.v
    0040: 00 69 00 63 00 65 00 73 – 00 3a 00 20 00 31 00 2e .i.c.e.s – .:. .1..
    0050: 00 30 00 3b 00 00 00 00 – 00 36 00 00 00 01 10 02 .0.;…. – .6……
    0060: 10 03 10 04 10 05 10 06 – 10 07 10 08 10 09 10 0a …….. – ……..
    0070: 10 0c 10 0d 10 1b 10 0b – 10 0f 10 05 90 06 90 23 …….. – …….#
    0080: 10 0e 10 14 10 15 10 16 – 10 21 10 22 10 24 10 25 …….. – .!.”.$.%
    0090: 10 26 10 27 10 00 92 02 – 90 03 90 01 98 02 98 03 .&.’…. – ……..
    00a0: 98 05 98 c4 90 16 90 c1 – 90 c2 90 03 92 c7 90 c8 …….. – ……..
    00b0: 90 01 92 02 92 05 92 06 – 92 07 92 07 94 08 94 09 …….. – ……..
    00c0: 94 0a 94 08 95 04 95 05 – 95 0d 00 00 00 01 40 02 …….. – ……@.
    00d0: 40 03 40 04 40 05 40 06 – 40 07 40 08 40 09 40 0a @.@.@.@. – @.@.@.@.
    00e0: 40 0c 40 0d 40 01 c0 09 – 00 00 00 07 d4 06 d4 02 @.@.@… – ……..
    00f0: d0 11 50 0c 50 0a 50 08 – 50 01 50 03 d3 01 00 00 ..P.P.P. – P.P…..
    0100: 00 01 38 08 00 00 00 00 – 30 01 30 00 38 01 38 06 ..8….. – 0.0.8.8.
    0110: 30 0a 30 0d 30 08 30 12 – 4e 00 69 00 6b 00 6f 00 0.0.0.0. – N.i.k.o.
    0120: 6e 00 20 00 43 00 6f 00 – 72 00 70 00 6f 00 72 00 n. .C.o. – r.p.o.r.
    0130: 61 00 74 00 69 00 6f 00 – 6e 00 00 00 06 53 00 33 a.t.i.o. – n….S.3
    0140: 00 37 00 30 00 30 00 00 – 00 13 43 00 4f 00 4f 00 .7.0.0.. – ..C.O.O.
    0150: 4c 00 50 00 49 00 58 00 – 20 00 53 00 33 00 37 00 L.P.I.X. – .S.3.7.
    0160: 30 00 30 00 20 00 56 00 – 31 00 2e 00 30 00 00 00 0.0. .V. – 1…0…
    0170: 00 .
    execMtpOp: MTP_OP_GetDeviceInfo – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 01 00 – 00 00 ….. .. – ..
    An exception occurred. Here is the stack trace information:
    Traceback (most recent call last):
    File “<string>”, line 3437, in appMain
    File “<string>”, line 1143, in startMtpSession
    File “<string>”, line 1307, in getMtpDeviceInfo
    File “<string>”, line 892, in parseMtpDeviceInfo
    File “<string>”, line 812, in removeLeadingCharsFromStr
    UnboundLocalError: local variable ‘charPos’ referenced before assignment

    #567
    Adam
    Participant

    Thanks. Based on the debug data the S3700 is returning an empty serial number, which airnef doesn’t expect and results in the runtime error. Can you download the airnef source and change removeLeadingCharsFromStr() to the following (‘charPos = 0’ is only change) and then run airnef from the source and see if there are any other issues working with the S3700? Thanks!

    def removeLeadingCharsFromStr(str, charsToRemoveSet):
        charPos = 0
        for charPos in xrange(len(str)):
            if str[charPos] not in charsToRemoveSet:
                break;
        return str[charPos:]
    • This reply was modified 5 years, 11 months ago by Adam.
    • This reply was modified 5 years, 11 months ago by Adam.
    • This reply was modified 5 years, 11 months ago by Adam.
    • This reply was modified 5 years, 11 months ago by Adam.
    • This reply was modified 5 years, 11 months ago by Adam.
    • This reply was modified 5 years, 11 months ago by Adam.
    #574
    stema
    Participant

    Hey! Found this site today, I have tested airnef and get the same error, I also tested the proposed action and get the following errors and wifi is also turned off. Hope this can be solved 🙂
    /Stema

    sudo python airnefcmd.py –ipaddress 192.168.0.1

    airnef v1.1 – Wireless transfer of images/movies for Nikon cameras [GPL v3]
    Copyright (c) TestCams.com, Time: 11/22/15 11:55:23, Py: 2.7.9, OS: Linux

    Connection established to 192.168.0.1:15740
    Camera Model “S3700”, S/N “”
    Retrieving list of images/files from camera: 1/30 Camera Command Failed: MTP_OP_GetObjectInfo, Error: MTP_RESP_InvalidObjectHandle

    #575
    stema
    Participant

    Debug information, did not find any file upload…

    /Stema

    airnef v1.1 – Wireless transfer of images/movies for Nikon cameras [GPL v3]
    Copyright (c) TestCams.com, Time: 11/22/15 14:01:39, Py: 2.7.9, OS: Linux

    Orig cmd line: [‘./airnefcmd.py’, ‘–action’, ‘listfiles’, ‘–logginglevel’, ‘debug’, ‘–ipaddress’, ‘192.168.0.1’]
    Processed cmd line: {‘ssdp_addservice’: None, ‘connecttimeout’: 10, ‘printstackframes’: ‘no’, ‘excludefolders’: None, ‘rtd_maxsecsbeforeforceinitialobjlistget’: 5, ‘realtimedownload’: ‘disabled’, ‘outputdir’: ‘./’, ‘extlist’: None, ‘camerasleepwhendone’: ‘yes’, ‘slot’: ‘firstfound’, ‘startdate’: None, ‘filenamespec’: None, ‘downloadhistory’: ‘skipfiles’, ‘rtd_pollingmethod’: None, ‘maxgetobjbuffersizekb’: 32768, ‘sonyuniquecmdsenable’: 1, ‘ssdp_discoverytimeoutsecsperattempt’: 2, ‘ssdp_discoveryattempts’: 3, ‘initcmdreq_guid’: ‘0x7766554433221100-0x0000000000009988’, ‘downloadexec’: None, ‘ssdp_discoveryflags’: None, ‘ssdp_addmulticastif’: None, ‘cameratransferlist’: ‘useifavail’, ‘socketreadwritetimeout’: 5, ‘opensessionid’: None, ‘retrydelaysecs’: 5, ‘downloadexec_options’: [], ‘ifexists’: ‘uniquename’, ‘dirnamespec’: None, ‘logginglevel’: ‘debug’, ‘retrycount’: 9223372036854775807, ‘mtpobjcache_maxagemins’: 0, ‘ipaddress’: ‘192.168.0.1’, ‘maxgetobjtransfersizekb’: 1024, ‘suppressdupconnecterrmsgs’: ‘yes’, ‘onlyfolders’: None, ‘downloadexec_extlist’: None, ‘enddate’: None, ‘realtimepollsecs’: 3, ‘maxclockdeltabeforesync’: ‘5’, ‘initcmdreq_hostver’: 65536, ‘mtpobjcache’: ‘enabled’, ‘action’: ‘listfiles’, ‘transferorder’: ‘oldestfirst’, ‘rtd_mtppollingmethod_newobjdetection’: ‘objlist’, ‘initcmdreq_hostname’: ‘airnef’}
    openConnection(): Attempting connection to 192.168.0.1:15740
    Attempting to establish camera connection at 192.168.0.1:15740

    Connection established to 192.168.0.1:15740
    sendInitCmdReq(): Sending MTP_TCPIP_REQ_INIT_CMD_REQ
    0000: 01 00 00 00 00 11 22 33 – 44 55 66 77 88 99 00 00 ……”3 – DUfw….
    0010: 00 00 00 00 61 00 69 00 – 72 00 6e 00 65 00 66 00 ….a.i. – r.n.e.f.
    0020: 00 00 00 00 01 00 ……
    sendInitCmdReq() response:
    0000: 02 00 00 00 53 4c 3e 50 – 30 30 31 31 32 32 33 33 ….SL>P – 00112233
    0010: 34 34 35 35 36 36 37 37 – 57 00 55 00 2d 00 31 00 44556677 – W.U.-.1.
    0020: 61 00 00 00 00 00 01 00 – a……. –
    Session ID = 0x503e4c53
    openConnection(): Attempting connection to 192.168.0.1:15740
    Attempting to establish camera connection at 192.168.0.1:15740

    sendInitEvents(): Sending MTP_TCPIP_REQ_INIT_EVENTS
    0000: 03 00 00 00 53 4c 3e 50 – ….SL>P –
    sendInitEvents() response:
    0000: 04 00 00 00 ….
    sendProbeRequest(): Sending probe request
    0000: 0d 00 00 00 ….
    sendProbeRequest() response:
    0000: 0e 00 00 00 ….
    execMtpOp: MTP_OP_GetDeviceInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 01 10 01 00 00 00 …….. – ……
    execMtpOp: MTP_OP_GetDeviceInfo – DataStart payload [expected data bytes is 0x169]
    0000: 09 00 00 00 01 00 00 00 – 69 01 00 00 00 00 00 00 …….. – i…….
    execMtpOp: MTP_OP_GetDeviceInfo – Data payload [ID c] (0x00000171 bytes):
    0000: 0c 00 00 00 01 00 00 00 – 64 00 06 00 00 00 64 00 …….. – d…..d.
    0010: 23 6d 00 69 00 63 00 72 – 00 6f 00 73 00 6f 00 66 #m.i.c.r – .o.s.o.f
    0020: 00 74 00 2e 00 63 00 6f – 00 6d 00 2f 00 64 00 65 .t…c.o – .m./.d.e
    0030: 00 76 00 69 00 63 00 65 – 00 73 00 65 00 72 00 76 .v.i.c.e – .s.e.r.v
    0040: 00 69 00 63 00 65 00 73 – 00 3a 00 20 00 31 00 2e .i.c.e.s – .:. .1..
    0050: 00 30 00 3b 00 00 00 00 – 00 36 00 00 00 01 10 02 .0.;…. – .6……
    0060: 10 03 10 04 10 05 10 06 – 10 07 10 08 10 09 10 0a …….. – ……..
    0070: 10 0c 10 0d 10 1b 10 0b – 10 0f 10 05 90 06 90 23 …….. – …….#
    0080: 10 0e 10 14 10 15 10 16 – 10 21 10 22 10 24 10 25 …….. – .!.”.$.%
    0090: 10 26 10 27 10 00 92 02 – 90 03 90 01 98 02 98 03 .&.’…. – ……..
    00a0: 98 05 98 c4 90 16 90 c1 – 90 c2 90 03 92 c7 90 c8 …….. – ……..
    00b0: 90 01 92 02 92 05 92 06 – 92 07 92 07 94 08 94 09 …….. – ……..
    00c0: 94 0a 94 08 95 04 95 05 – 95 0d 00 00 00 01 40 02 …….. – ……@.
    00d0: 40 03 40 04 40 05 40 06 – 40 07 40 08 40 09 40 0a @.@.@.@. – @.@.@.@.
    00e0: 40 0c 40 0d 40 01 c0 09 – 00 00 00 07 d4 06 d4 02 @.@.@… – ……..
    00f0: d0 11 50 0c 50 0a 50 08 – 50 01 50 03 d3 01 00 00 ..P.P.P. – P.P…..
    0100: 00 01 38 08 00 00 00 00 – 30 01 30 00 38 01 38 06 ..8….. – 0.0.8.8.
    0110: 30 0a 30 0d 30 08 30 12 – 4e 00 69 00 6b 00 6f 00 0.0.0.0. – N.i.k.o.
    0120: 6e 00 20 00 43 00 6f 00 – 72 00 70 00 6f 00 72 00 n. .C.o. – r.p.o.r.
    0130: 61 00 74 00 69 00 6f 00 – 6e 00 00 00 06 53 00 33 a.t.i.o. – n….S.3
    0140: 00 37 00 30 00 30 00 00 – 00 13 43 00 4f 00 4f 00 .7.0.0.. – ..C.O.O.
    0150: 4c 00 50 00 49 00 58 00 – 20 00 53 00 33 00 37 00 L.P.I.X. – .S.3.7.
    0160: 30 00 30 00 20 00 56 00 – 31 00 2e 00 30 00 00 00 0.0. .V. – 1…0…
    0170: 00 .
    execMtpOp: MTP_OP_GetDeviceInfo – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 01 00 – 00 00 ….. .. – ..
    MtpDeviceInfoTuple(standardVersion=100, vendorExtensionID=6, vendorExtensionVersion=100, vendorExtensionDescStr=u’microsoft.com/deviceservices: 1.0;’, operationsSupportedSet=set([37376, 4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4110, 4111, 36867, 4116, 4117, 4118, 38148, 36886, 4123, 38152, 36869, 38915, 4129, 4130, 4131, 4132, 36870, 4134, 4135, 37383, 37381, 38914, 37377, 37897, 37898, 37057, 36866, 37060, 37063, 37058, 37382, 37378, 38917, 4133, 38913, 37896, 37379, 37895, 38149, 37064]), eventsSupportedSet=set([16385, 16386, 16387, 16388, 16389, 16390, 16391, 16392, 16393, 16394, 16396, 16397, 49153]), devicePropertiesSupportedSet=set([20481, 53250, 54019, 54278, 54279, 20488, 20490, 20492, 20497]), captureFormatsSupportedSet=set([14337]), imageFormatsSupportedSet=set([12288, 12289, 12294, 14337, 12296, 12298, 14336, 12301]), manufacturerStr=u’Nikon Corporation’, modelStr=u’S3700′, deviceVersionStr=u’COOLPIX S3700 V1.0′, serialNumberStr=”)
    Camera Model “S3700”, S/N “”
    execMtpOp: MTP_OP_OpenSession – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 02 10 02 00 00 00 53 4c …….. – ……SL
    0010: 3e 50 >P
    execMtpOp: MTP_OP_OpenSession – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 02 00 – 00 00 ….. .. – ..
    execMtpOp: MTP_OP_GetDevicePropValue – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 15 10 03 00 00 00 11 50 …….. – …….P
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetDevicePropValue – DataStart payload [expected data bytes is 0x21]
    0000: 09 00 00 00 03 00 00 00 – 21 00 00 00 00 00 00 00 …….. – !…….
    execMtpOp: MTP_OP_GetDevicePropValue – Data payload [ID c] (0x00000029 bytes):
    0000: 0c 00 00 00 03 00 00 00 – 10 32 00 30 00 31 00 35 …….. – .2.0.1.5
    0010: 00 31 00 31 00 32 00 32 – 00 54 00 31 00 34 00 30 .1.1.2.2 – .T.1.4.0
    0020: 00 31 00 33 00 39 00 00 – 00 .1.3.9.. – .
    execMtpOp: MTP_OP_GetDevicePropValue – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 03 00 – 00 00 ….. .. – ..
    Camera time epoch: 1448197299.00, System time epoch: 1448197299.45
    Clocks: Camera: 11/22/15 02:01:39 PM, System: 11/22/15 02:01:39 PM
    execMtpOp: MTP_OP_GetStorageIDs – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 04 10 04 00 00 00 …….. – ……
    execMtpOp: MTP_OP_GetStorageIDs – DataStart payload [expected data bytes is 0x8]
    0000: 09 00 00 00 04 00 00 00 – 08 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetStorageIDs – Data payload [ID c] (0x00000010 bytes):
    0000: 0c 00 00 00 04 00 00 00 – 01 00 00 00 01 00 01 00 …….. – ……..
    execMtpOp: MTP_OP_GetStorageIDs – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 04 00 – 00 00 ….. .. – ..
    All Storage IDs:
    storageId[0] = 0x00010001
    storageId to be used for this invocation: 00010001 [cardsPresentBitmap=0x0001]
    execMtpOp: MTP_OP_GetStorageInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 05 10 05 00 00 00 01 00 …….. – ……..
    0010: 01 00 ..
    execMtpOp: MTP_OP_GetStorageInfo – DataStart payload [expected data bytes is 0x3a]
    0000: 09 00 00 00 05 00 00 00 – 3a 00 00 00 00 00 00 00 …….. – :…….
    execMtpOp: MTP_OP_GetStorageInfo – Data payload [ID c] (0x00000042 bytes):
    0000: 0c 00 00 00 05 00 00 00 – 04 00 03 00 00 00 00 00 …….. – ……..
    0010: 88 6d 07 00 00 00 00 80 – 08 5e 07 00 00 00 38 0b .m…… – .^….8.
    0020: 00 00 00 0f 53 00 33 00 – 37 00 30 00 30 00 20 00 ….S.3. – 7.0.0. .
    0030: 5b 00 53 00 6c 00 6f 00 – 74 00 20 00 31 00 5d 00 [.S.l.o. – t. .1.].
    0040: 00 00 ..
    execMtpOp: MTP_OP_GetStorageInfo – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 05 00 – 00 00 ….. .. – ..
    MtpStorageInfoTuple(storageType=4, fileSystemType=3, accessCapability=0, maxCapacityBytes=31902400512, freeSpaceBytes=31642386432, freeSpaceInImages=2872, storageDescription=0, volumeLabel=u’S3700 [Slot 1]’)
    execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 06 00 00 00 01 00 …….. – ……..
    0010: 01 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x7c]
    0000: 09 00 00 00 06 00 00 00 – 7c 00 00 00 00 00 00 00 …….. – |…….
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000084 bytes):
    0000: 0c 00 00 00 06 00 00 00 – 1e 00 00 00 00 40 00 11 …….. – …..@..
    0010: 00 00 19 11 05 00 19 29 – 09 00 19 29 11 00 19 29 …….) – …)…)
    0020: 17 00 19 29 1a 00 19 29 – 1d 00 19 29 1e 00 19 29 …)…) – …)…)
    0030: 1f 00 19 29 21 00 19 29 – 22 00 19 29 23 00 19 29 …)!..) – “..)#..)
    0040: 24 00 19 29 25 00 19 29 – 26 00 19 29 27 00 19 29 $..)%..) – &..)’..)
    0050: 28 00 19 29 29 00 19 29 – 2a 00 19 29 2b 00 19 29 (..))..) – *..)+..)
    0060: 2c 00 19 29 2d 00 19 29 – 2e 00 19 29 2f 00 19 29 ,..)-..) – …)/..)
    0070: 30 00 19 29 31 00 19 29 – 32 00 19 29 33 00 19 29 0..)1..) – 2..)3..)
    0080: 34 00 19 29 4..)
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 06 00 – 00 00 ….. .. – ..
    execMtpOp: MTP_OP_GetTransferList – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 94 07 00 00 00 …….. – ……
    execMtpOp: MTP_OP_GetTransferList – CmdResponse payload (resp=”MTP_RESP_NoTransferList”):
    0000: 07 00 00 00 05 a2 07 00 – 00 00 …….. – ..
    All MTP object handles (count=30):
    0000: 11004000 11190000 – 29190005 29190009
    0010: 29190011 29190017 – 2919001a 2919001d
    0020: 2919001e 2919001f – 29190021 29190022
    0030: 29190023 29190024 – 29190025 29190026
    0040: 29190027 29190028 – 29190029 2919002a
    0050: 2919002b 2919002c – 2919002d 2919002e
    0060: 2919002f 29190030 – 29190031 29190032
    0070: 29190033 29190034 –

    Retrieving list of images/files from camera: 0/30 execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 08 00 00 00 00 40 …….. – …….@
    0010: 00 11 ..
    execMtpOp: MTP_OP_GetObjectInfo – DataStart payload [expected data bytes is 0x42]
    0000: 09 00 00 00 08 00 00 00 – 42 00 00 00 00 00 00 00 …….. – B…….
    execMtpOp: MTP_OP_GetObjectInfo – Data payload [ID c] (0x0000004a bytes):
    0000: 0c 00 00 00 08 00 00 00 – 01 00 01 00 01 30 00 00 …….. – …..0..
    0010: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 …….. – ……..
    0020: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 …….. – ……..
    0030: 00 00 01 00 00 00 00 00 – 00 00 00 00 05 44 00 43 …….. – …..D.C
    0040: 00 49 00 4d 00 00 00 00 – 00 00 .I.M…. – ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 08 00 – 00 00 ….. .. – ..
    Creating MtpObject with the following mtpObjectInfo:
    MtpObject instance = 0x7fce256a8128
    mtpObjectHandle = 0x11004000
    — mptObjectInfo —
    storageId = MTP_STORAGEID_MainSlotPopulated (0x10001)
    objectFormat = MTP_OBJFORMAT_Assocation (0x3001)
    protectionStatus = 0x0000
    compressedSize = 0x00000000
    thumbFormat = MTP_OBJFORMAT_NONE (0x0000)
    thumbCompressedSize= 0x00000000
    thumbPixDimensions = 0x0
    imagePixDimensions = 0x0
    imageBitDepth = 0
    parentObject = 0x00000000
    associationType = MTP_OBJASSOC_GenericFolder (0x0001)
    associationDesc = 0x00000000
    sequenceNumber = 0x00000000
    filename = DCIM
    captureDateSt =
    modificationDateStr=

    Retrieving list of images/files from camera: 1/30 execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 09 00 00 00 00 00 …….. – ……..
    0010: 19 11 ..
    execMtpOp: MTP_OP_GetObjectInfo – DataStart payload [expected data bytes is 0x4a]
    0000: 09 00 00 00 09 00 00 00 – 4a 00 00 00 00 00 00 00 …….. – J…….
    execMtpOp: MTP_OP_GetObjectInfo – Data payload [ID c] (0x00000052 bytes):
    0000: 0c 00 00 00 09 00 00 00 – 01 00 01 00 01 30 00 00 …….. – …..0..
    0010: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 00 00 …….. – ……..
    0020: 00 00 00 00 00 00 00 00 – 00 00 00 00 00 00 02 00 …….. – ……..
    0030: 00 00 01 00 00 00 00 00 – 00 00 00 00 09 31 00 30 …….. – …..1.0
    0040: 00 30 00 4e 00 49 00 4b – 00 4f 00 4e 00 00 00 00 .0.N.I.K – .O.N….
    0050: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 09 00 – 00 00 ….. .. – ..
    Recursing to get parent dir of “100NIKON” – objHandle=0x11190000, parent=0x00000002
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 0a 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 0a 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=0.01
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 0b 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 0b 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=0.27
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 0c 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 0c 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=0.53
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 0d 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 0d 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=0.79
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 0e 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 0e 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=1.05
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 0f 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 0f 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=1.31
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 10 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 10 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=1.59
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 11 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 11 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=1.86
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 12 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 12 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=2.12
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 13 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 13 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=2.38
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 14 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 14 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=2.64
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 15 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 15 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=2.91
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 16 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 16 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=3.16
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 17 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 17 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=3.43
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 18 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 18 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=3.69
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 19 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 19 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=3.96
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 1a 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 1a 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=4.22
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 1b 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 1b 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=4.48
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 1c 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 1c 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=4.73
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 1d 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 1d 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=4.99
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 1e 00 00 00 02 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_InvalidObjectHandle”):
    0000: 07 00 00 00 09 20 1e 00 – 00 00 ….. .. – ..
    getMtpObjectInfo() failed: MTP_RESP_InvalidObjectHandle, elaspsedTimeSecs=5.26
    execMtpOp: MTP_OP_CloseSession – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 03 10 1f 00 00 00 …….. – ……
    execMtpOp: MTP_OP_CloseSession – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 1f 00 – 00 00 ….. .. – ..

    #577
    Adam
    Participant

    Thanks for the log. The camera is returning an invalid object handle for the parent directory of the camera’s “100NIKON” directory. This violates the MTP specification. To workaround the issue can you try commenting out line 1842 by placing a # at the start of the line. For example:

    
    		#
    		# recurse to create MTP objects for the directory tree referenced by this object if we're instructed to do
    		# so and this object has a parent dir and no MtpObject exists for the parent already
    		#
    		if fFindAndCreateAntecendentDirs and mtpObjectInfo.parentObject and MtpObject.getByMtpObjectHandle(mtpObjectInfo.parentObject)==None:
    			applog_d("Recursing to get parent dir of \"{:s}\" - objHandle=0x{:08x}, parent=0x{:08x}".format(mtpObjectInfo.filename, objHandle, mtpObjectInfo.parentObject))
    #			createMtpObjectFromHandle(mtpObjectInfo.parentObject, createMtpObjectStatsStruct, cachedMtpObjectInfoListDict, fFindAndCreateAntecendentDirs)				
    
    #580
    stema
    Participant

    Thanks! Seems to work now 🙂 ran out of battery in middle of the test, but so far it looks good! I test more tomorrow 🙂

    /Stema

Viewing 8 posts - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.