Only first image downloaded from Canon Camera

Home Forums Only first image downloaded from Canon Camera

This topic contains 6 replies, has 2 voices, and was last updated by  Adam 1 month, 2 weeks ago.

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
    Posts
  • #9694

    besi
    Participant

    I start airnef from the command line.

    python airnefcmd.py --ipaddress 192.168.188.84 --action getfiles --realtimedownload only --downloadexec open @pf@ --transferorder newestfirst --outputdir "/Users/besi/Desktop"

    I connect the camera and I’m shown some information about my connection:

    Connection established to 192.168.188.84:15740
    Camera Model “Canon EOS 200D”, S/N “XXXXXXXXX”

    Airnef tells me:

    Waiting for realtime photos from camera to download. Press <ctrl-c> to exit |

    I take a picture and it downloads it as expected:

    Downloading “IMG_0084.JPG”: 96%

    Airnef then shows some more information about this image:

    /Users/besi/Desktop/IMG_0084.JPG [size = 4,602,357] in 1.94 seconds (2.26 MB/s)

    I take some more pictures but they’re not downloaded and the software is stuck at the prompt:

    Waiting for realtime photos from camera to download. Press <ctrl-c> to exit \

    #9719

    besi
    Participant
    #9720

    Adam
    Participant

    Can you please run a realtime session with –logginglevel debug and post the resulting log here, where you take at least two photos and one of them doesn’t get downloaded?

    #9722

    besi
    Participant

    Hello Adam. Thanks for looking into this.

    This is the result. Again with the first photo downloaded and then the consecutive (3 more images being taken) ignored:

    python airnefcmd.py –ipaddress 192.168.1.116 –action getfiles –realtimedownload only –downloadexec open @pf@ –transferorder newestfirst –outputdir “/Users/besi/Desktop” –logginglevel debug

    airnef v1.1 – Wireless transfer of images/movies for Nikon cameras [GPL v3]
    Copyright (c) TestCams.com, Time: 09/26/18 08:17:35, Py: 2.7.10, OS: Darwin

    Orig cmd line: [‘airnefcmd.py’, ‘–ipaddress’, ‘192.168.1.116’, ‘–action’, ‘getfiles’, ‘–realtimedownload’, ‘only’, ‘–downloadexec’, ‘open’, ‘@pf@’, ‘–transferorder’, ‘newestfirst’, ‘–outputdir’, ‘/Users/besi/Desktop’, ‘–logginglevel’, ‘debug’]
    Processed cmd line: {‘ssdp_addservice’: None, ‘connecttimeout’: 10, ‘printstackframes’: ‘no’, ‘excludefolders’: None, ‘rtd_maxsecsbeforeforceinitialobjlistget’: 5, ‘realtimedownload’: ‘only’, ‘outputdir’: ‘/Users/besi/Desktop’, ‘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’: [‘open’, ‘@pf@’], ‘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.1.116’, ‘maxgetobjtransfersizekb’: 1024, ‘suppressdupconnecterrmsgs’: ‘yes’, ‘onlyfolders’: None, ‘downloadexec_extlist’: None, ‘enddate’: None, ‘realtimepollsecs’: 3, ‘maxclockdeltabeforesync’: ‘5’, ‘initcmdreq_hostver’: 65536, ‘mtpobjcache’: ‘enabled’, ‘action’: ‘getfiles’, ‘transferorder’: ‘newestfirst’, ‘rtd_mtppollingmethod_newobjdetection’: ‘objlist’, ‘initcmdreq_hostname’: ‘airnef’}
    openConnection(): Attempting connection to 192.168.1.116:15740
    Connection established to 192.168.1.116: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 01 00 00 00 – 00 00 00 00 00 00 00 00 …….. – ……..
    0010: 00 01 00 bb c1 8f 4e b3 – 50 00 4f 00 57 00 41 00 ……N. – P.O.W.A.
    0020: 47 00 00 00 00 00 01 00 – G……. –
    Session ID = 0x00000001
    openConnection(): Attempting connection to 192.168.1.116:15740
    sendInitEvents(): Sending MTP_TCPIP_REQ_INIT_EVENTS
    0000: 03 00 00 00 01 00 00 00 – …….. –
    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 0x245]
    0000: 09 00 00 00 01 00 00 00 – 45 02 00 00 00 00 00 00 …….. – E…….
    execMtpOp: MTP_OP_GetDeviceInfo – Data payload [ID c] (0x0000024d bytes):
    0000: 0c 00 00 00 01 00 00 00 – 64 00 06 00 00 00 64 00 …….. – d…..d.
    0010: 00 00 00 aa 00 00 00 02 – 10 03 10 01 10 04 10 01 …….. – ……..
    0020: 91 05 10 02 91 06 10 07 – 10 08 10 03 91 70 91 09 …….. – …..p..
    0030: 10 04 91 71 91 0a 10 0f – 10 06 91 14 10 16 10 1b …q…. – ……..
    0040: 10 0c 10 0d 10 07 91 72 – 91 2c 91 74 91 14 91 15 …….r – .,.t….
    0050: 91 16 91 17 91 09 91 73 – 91 0a 91 32 91 33 90 68 …….s – …2.3.h
    0060: 90 69 90 6a 90 6b 90 1a – 91 1d 91 1e 91 1f 91 22 .i.j.k.. – …….”
    0070: 91 23 91 24 91 31 91 33 – 91 34 91 35 91 3c 91 3e .#.$.1.3 – .4.5.<.>
    0080: 91 3f 91 40 91 54 91 55 – 91 57 91 58 91 59 91 5a .?.@.T.U – .W.X.Y.Z
    0090: 91 5b 91 60 91 fe 91 ff – 91 6c 90 6d 90 6e 90 6f .[.`…. – .l.m.n.o
    00a0: 90 08 91 10 91 2b 91 30 – 91 3d 91 5c 91 5d 91 1b …..+.0 – .=.\.]..
    00b0: 91 1c 91 53 91 28 91 29 – 91 2f 90 0c 91 0e 91 f0 …S.(.) – ./……
    00c0: 91 27 91 f1 91 e1 91 e2 – 91 e3 91 e4 91 e6 91 e7 .’…… – ……..
    00d0: 91 e8 91 e9 91 ea 91 eb – 91 ec 91 ed 91 ee 91 ef …….. – ……..
    00e0: 91 f8 91 f9 91 44 91 45 – 91 d3 91 d4 91 36 91 37 …..D.E – …..6.7
    00f0: 91 46 91 47 91 48 91 49 – 91 df 91 fb 91 fc 91 4a .F.G.H.I – …….J
    0100: 91 0f 91 4b 91 41 91 43 – 91 0b 10 05 91 2d 91 2e …K.A.C – …..-..
    0110: 91 2f 91 4c 91 39 91 3a – 91 3b 91 4e 91 d7 91 d8 ./.L.9.: – .;.N….
    0120: 91 d9 91 da 91 db 91 dc – 91 dd 91 de 91 d5 91 80 …….. – ……..
    0130: 91 81 91 82 91 83 91 84 – 91 85 91 38 91 18 91 f5 …….. – …8….
    0140: 91 f6 91 7f 91 4d 91 4f – 91 50 91 f2 91 f3 91 f4 ….M.O – .P……
    0150: 91 fd 91 50 90 51 90 5c – 90 5d 90 52 90 53 90 57 …P.Q.\ – .].R.S.W
    0160: 90 58 90 59 90 5a 90 5b – 90 5f 90 13 00 00 00 81 .X.Y.Z.[ – ._……
    0170: c1 03 40 83 c1 84 c1 85 – c1 86 c1 87 c1 88 c1 89 ..@….. – ……..
    0180: c1 8a c1 8b c1 8d c1 8e – c1 8f c1 90 c1 91 c1 a0 …….. – ……..
    0190: c1 a1 c1 09 40 05 00 00 – 00 02 d4 07 d4 06 d4 03 ….@… – ……..
    01a0: d3 01 50 01 00 00 00 01 – 38 0c 00 00 00 01 30 02 ..P….. – 8…..0.
    01b0: 30 06 30 0a 30 08 30 01 – 38 01 b1 03 b1 02 bf 00 0.0.0.0. – 8…….
    01c0: 38 04 b1 05 b1 0a 43 00 – 61 00 6e 00 6f 00 6e 00 8…..C. – a.n.o.n.
    01d0: 2e 00 49 00 6e 00 63 00 – 00 00 0f 43 00 61 00 6e ..I.n.c. – …C.a.n
    01e0: 00 6f 00 6e 00 20 00 45 – 00 4f 00 53 00 20 00 32 .o.n. .E – .O.S. .2
    01f0: 00 30 00 30 00 44 00 00 – 00 08 33 00 2d 00 31 00 .0.0.D.. – ..3.-.1.
    0200: 2e 00 30 00 2e 00 31 00 – 00 00 21 35 00 39 00 30 ..0…1. – ..!5.9.0
    0210: 00 37 00 34 00 63 00 31 – 00 35 00 37 00 38 00 65 .7.4.c.1 – .5.7.8.e
    0220: 00 33 00 34 00 37 00 61 – 00 33 00 62 00 66 00 31 .3.4.7.a – .3.b.f.1
    0230: 00 66 00 36 00 66 00 38 – 00 35 00 65 00 38 00 64 .f.6.f.8 – .5.e.8.d
    0240: 00 65 00 63 00 36 00 32 – 00 34 00 00 00 .e.c.6.2 – .4…
    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=”, operationsSupportedSet=set([4097, 4098, 4099, 4100, 4101, 4102, 4103, 4104, 4105, 4106, 4107, 4108, 4109, 4111, 4116, 4118, 4123, 36911, 36915, 36944, 36945, 36946, 36947, 36951, 36952, 36953, 36954, 36955, 36956, 36957, 36959, 36968, 36969, 36970, 36971, 36972, 36973, 36974, 36975, 37121, 37122, 37123, 37124, 37125, 37126, 37127, 37128, 37129, 37130, 37132, 37134, 37135, 37136, 37140, 37141, 37142, 37143, 37144, 37146, 37147, 37148, 37149, 37150, 37151, 37154, 37155, 37156, 37159, 37160, 37161, 37163, 37164, 37165, 37166, 37167, 37168, 37169, 37170, 37171, 37172, 37173, 37174, 37175, 37176, 37177, 37178, 37179, 37180, 37181, 37182, 37183, 37184, 37185, 37187, 37188, 37189, 37190, 37191, 37192, 37193, 37194, 37195, 37196, 37197, 37198, 37199, 37200, 37203, 37204, 37205, 37207, 37208, 37209, 37210, 37211, 37212, 37213, 37216, 37232, 37233, 37234, 37235, 37236, 37247, 37248, 37249, 37250, 37251, 37252, 37253, 37331, 37332, 37333, 37335, 37336, 37337, 37338, 37339, 37340, 37341, 37342, 37343, 37345, 37346, 37347, 37348, 37350, 37351, 37352, 37353, 37354, 37355, 37356, 37357, 37358, 37359, 37360, 37361, 37362, 37363, 37364, 37365, 37366, 37368, 37369, 37371, 37372, 37373, 37374, 37375]), eventsSupportedSet=set([49568, 49537, 16387, 49540, 49541, 49542, 49543, 49544, 49545, 49546, 49547, 49549, 49550, 49551, 49552, 49553, 49539, 16393, 49569]), devicePropertiesSupportedSet=set([20481, 54274, 54019, 54278, 54279]), captureFormatsSupportedSet=set([14337]), imageFormatsSupportedSet=set([14336, 12289, 12290, 45315, 45316, 45317, 12294, 14337, 12296, 12298, 45313, 48898]), manufacturerStr=u’Canon.Inc’, modelStr=u’Canon EOS 200D’, deviceVersionStr=u’3-1.0.1′, serialNumberStr=u’59074c1578e347a3bf1f6f85e8dec624′)
    Camera Model “Canon EOS 200D”, S/N “59074c1578e347a3bf1f6f85e8dec624″
    execMtpOp: MTP_OP_OpenSession – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 02 10 02 00 00 00 01 00 …….. – ……..
    0010: 00 00 ..
    execMtpOp: MTP_OP_OpenSession – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 02 00 – 00 00 ….. .. – ..
    execMtpOp: MTP_OP_Canon_SetDevicePropValue – CmdReq payload:
    0000: 06 00 00 00 02 00 00 00 – 10 91 03 00 00 00 …….. – ……
    execMtpOp: Sending MTP_TCPIP_PAYLOAD_ID_DataStart
    0000: 09 00 00 00 03 00 00 00 – 0c 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: Sending MTP_TCPIP_PAYLOAD_ID_DataPayloadLast:
    0000: 0c 00 00 00 03 00 00 00 – 0c 00 00 00 7c d1 00 00 …….. – ….|…
    0010: 80 24 ab 5b .$.[
    execMtpOp: MTP_OP_Canon_SetDevicePropValue – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 03 00 – 00 00 ….. .. – ..
    Camera’s date/time set to 09/26/18 08:17:36 AM
    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 02 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] = 0x00020001
    storageId to be used for this invocation: 00020001 [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: 02 00 ..
    execMtpOp: MTP_OP_GetStorageInfo – DataStart payload [expected data bytes is 0x24]
    0000: 09 00 00 00 05 00 00 00 – 24 00 00 00 00 00 00 00 …….. – $…….
    execMtpOp: MTP_OP_GetStorageInfo – Data payload [ID c] (0x0000002c bytes):
    0000: 0c 00 00 00 05 00 00 00 – 04 00 03 00 00 00 00 00 …….. – ……..
    0010: 80 b9 03 00 00 00 00 00 – ac b7 03 00 00 00 ff ff …….. – ……..
    0020: ff ff 03 53 00 44 00 00 – 00 00 00 00 …S.D.. – ….
    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=15997075456, freeSpaceBytes=15966404608, freeSpaceInImages=4294967295, storageDescription=3, volumeLabel=u’\u4400′)

    execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 06 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x10]
    0000: 09 00 00 00 06 00 00 00 – 10 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000018 bytes):
    0000: 0c 00 00 00 06 00 00 00 – 03 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 00 00 08 a0 – …….. –
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 06 00 – 00 00 ….. .. – ..
    realTimeCapture_MtpObjPollingMethod(): First MTP object list (count=3):
    0000: 90000000 91900000 – a0080000
    Waiting for realtime photos from camera to download. Press <ctrl-c> to exit -execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 07 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x10]
    0000: 09 00 00 00 07 00 00 00 – 10 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000018 bytes):
    0000: 0c 00 00 00 07 00 00 00 – 03 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 00 00 08 a0 – …….. –
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 07 00 – 00 00 ….. .. – ..
    \execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 08 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x10]
    0000: 09 00 00 00 08 00 00 00 – 10 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000018 bytes):
    0000: 0c 00 00 00 08 00 00 00 – 03 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 00 00 08 a0 – …….. –
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 08 00 – 00 00 ….. .. – ..
    |execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 09 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x10]
    0000: 09 00 00 00 09 00 00 00 – 10 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000018 bytes):
    0000: 0c 00 00 00 09 00 00 00 – 03 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 00 00 08 a0 – …….. –
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 09 00 – 00 00 ….. .. – ..
    /execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 0a 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x10]
    0000: 09 00 00 00 0a 00 00 00 – 10 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000018 bytes):
    0000: 0c 00 00 00 0a 00 00 00 – 03 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 00 00 08 a0 – …….. –
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 0a 00 – 00 00 ….. .. – ..
    -execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 0b 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x14]
    0000: 09 00 00 00 0b 00 00 00 – 14 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x0000001c bytes):
    0000: 0c 00 00 00 0b 00 00 00 – 04 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 62 0b 90 91 – 00 00 08 a0 ….b… – ….
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 0b 00 – 00 00 ….. .. – ..
    realTimeCapture_MtpObjPollingMethod(): Current MTP object list (count=4):
    0000: 90000000 91900000 – 91900b62 a0080000

    realTimeCapture_MtpObjPollingMethod(): New MTP object list (count=1):
    0000: 91900b62
    Retrieving list of images/files from camera: 0/1 execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 0c 00 00 00 62 0b …….. – ……b.
    0010: 90 91 ..
    execMtpOp: MTP_OP_GetObjectInfo – DataStart payload [expected data bytes is 0x9a]
    0000: 09 00 00 00 0c 00 00 00 – 9a 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectInfo – Data payload [ID c] (0x000000a2 bytes):
    0000: 0c 00 00 00 0c 00 00 00 – 01 00 02 00 01 38 00 00 …….. – …..8..
    0010: 2d f7 30 00 08 38 fc 31 – 00 00 a0 00 00 00 78 00 -.0..8.1 – ……x.
    0020: 00 00 90 0f 00 00 60 0a – 00 00 18 00 00 00 00 00 ……`. – ……..
    0030: 90 91 00 00 00 00 00 00 – 00 00 00 00 0d 49 00 4d …….. – …..I.M
    0040: 00 47 00 5f 00 30 00 31 – 00 38 00 32 00 2e 00 4a .G._.0.1 – .8.2…J
    0050: 00 50 00 47 00 00 00 12 – 32 00 30 00 31 00 38 00 .P.G…. – 2.0.1.8.
    0060: 30 00 39 00 32 00 36 00 – 54 00 30 00 37 00 31 00 0.9.2.6. – T.0.7.1.
    0070: 37 00 34 00 37 00 2e 00 – 30 00 00 00 12 32 00 30 7.4.7… – 0….2.0
    0080: 00 31 00 38 00 30 00 39 – 00 32 00 36 00 54 00 30 .1.8.0.9 – .2.6.T.0
    0090: 00 37 00 31 00 37 00 34 – 00 38 00 2e 00 30 00 00 .7.1.7.4 – .8…0..
    00a0: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 0c 00 – 00 00 ….. .. – ..
    Recursing to get parent dir of “IMG_0182.JPG” – objHandle=0x91900b62, parent=0x91900000
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 0d 00 00 00 00 00 …….. – ……..
    0010: 90 91 ..
    execMtpOp: MTP_OP_GetObjectInfo – DataStart payload [expected data bytes is 0x92]
    0000: 09 00 00 00 0d 00 00 00 – 92 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectInfo – Data payload [ID c] (0x0000009a bytes):
    0000: 0c 00 00 00 0d 00 00 00 – 01 00 02 00 01 30 01 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 90 01 00 00 00 00 00 – 00 00 00 00 09 31 00 30 …….. – …..1.0
    0040: 00 30 00 43 00 41 00 4e – 00 4f 00 4e 00 00 00 12 .0.C.A.N – .O.N….
    0050: 32 00 30 00 31 00 38 00 – 30 00 39 00 32 00 35 00 2.0.1.8. – 0.9.2.5.
    0060: 54 00 31 00 36 00 33 00 – 32 00 33 00 35 00 2e 00 T.1.6.3. – 2.3.5…
    0070: 30 00 00 00 12 32 00 30 – 00 31 00 38 00 30 00 39 0….2.0 – .1.8.0.9
    0080: 00 32 00 35 00 54 00 31 – 00 36 00 33 00 32 00 33 .2.5.T.1 – .6.3.2.3
    0090: 00 34 00 2e 00 30 00 00 – 00 00 .4…0.. – ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 0d 00 – 00 00 ….. .. – ..
    Recursing to get parent dir of “100CANON” – objHandle=0x91900000, parent=0x90000000
    execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 0e 00 00 00 00 00 …….. – ……..
    0010: 00 90 ..
    execMtpOp: MTP_OP_GetObjectInfo – DataStart payload [expected data bytes is 0x8a]
    0000: 09 00 00 00 0e 00 00 00 – 8a 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectInfo – Data payload [ID c] (0x00000092 bytes):
    0000: 0c 00 00 00 0e 00 00 00 – 01 00 02 00 01 30 01 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 12 – 32 00 30 00 31 00 38 00 .I.M…. – 2.0.1.8.
    0050: 30 00 39 00 32 00 35 00 – 54 00 31 00 36 00 33 00 0.9.2.5. – T.1.6.3.
    0060: 32 00 33 00 33 00 2e 00 – 30 00 00 00 12 32 00 30 2.3.3… – 0….2.0
    0070: 00 31 00 38 00 30 00 39 – 00 32 00 35 00 54 00 31 .1.8.0.9 – .2.5.T.1
    0080: 00 36 00 33 00 32 00 33 – 00 32 00 2e 00 30 00 00 .6.3.2.3 – .2…0..
    0090: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 0e 00 – 00 00 ….. .. – ..
    Creating MtpObject with the following mtpObjectInfo:
    MtpObject instance = 0x10f32a5a8
    mtpObjectHandle = 0x90000000
    — mptObjectInfo —
    storageId = MTP_STORAGEID_SubSlotPopulated (0x20001)
    objectFormat = MTP_OBJFORMAT_Assocation (0x3001)
    protectionStatus = 0x0001
    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 = 20180925T163233
    modificationDateStr= 20180925T163232
    Creating MtpObject with the following mtpObjectInfo:
    MtpObject instance = 0x10f3476c8
    mtpObjectHandle = 0x91900000
    — mptObjectInfo —
    storageId = MTP_STORAGEID_SubSlotPopulated (0x20001)
    objectFormat = MTP_OBJFORMAT_Assocation (0x3001)
    protectionStatus = 0x0001
    compressedSize = 0x00000000
    thumbFormat = MTP_OBJFORMAT_NONE (0x0000)
    thumbCompressedSize= 0x00000000
    thumbPixDimensions = 0x0
    imagePixDimensions = 0x0
    imageBitDepth = 0
    parentObject = 0x90000000
    associationType = MTP_OBJASSOC_GenericFolder (0x0001)
    associationDesc = 0x00000000
    sequenceNumber = 0x00000000
    filename = DCIM\100CANON
    captureDateSt = 20180925T163235
    modificationDateStr= 20180925T163234
    Creating MtpObject with the following mtpObjectInfo:
    MtpObject instance = 0x10f34d560
    mtpObjectHandle = 0x91900b62
    — mptObjectInfo —
    storageId = MTP_STORAGEID_SubSlotPopulated (0x20001)
    objectFormat = MTP_OBJFORMAT_EXIF_or_JPEG (0x3801)
    protectionStatus = 0x0000
    compressedSize = 0x0030f72d
    thumbFormat = MTP_OBJFORMAT_JFIF (0x3808)
    thumbCompressedSize= 0x000031fc
    thumbPixDimensions = 160×120
    imagePixDimensions = 3984×2656
    imageBitDepth = 24
    parentObject = 0x91900000
    associationType = No Association or Unknown (0x0000)
    associationDesc = 0x00000000
    sequenceNumber = 0x00000000
    filename = DCIM\100CANON\IMG_0182.JPG
    captureDateSt = 20180926T071747
    modificationDateStr= 20180926T071748
    Download history file “/Users/besi/Library/Application Support/airnef/appdata/Canon EOS 200D-SN59074c1578e347a3bf1f6f85e8dec624-downloadhist” loaded – 53 entries
    >> MTP_OP_GetObject
    Downloading “IMG_0182.JPG”: 0%IMG_0182.JPG – downloading next piece, offset=0x0, count=0x100000
    execMtpOp: MTP_OP_GetPartialObject – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 1b 10 0f 00 00 00 62 0b …….. – ……b.
    0010: 90 91 00 00 00 00 00 00 – 10 00 …….. – ..
    execMtpOp: MTP_OP_GetPartialObject – DataStart payload [expected data bytes is 0x100000]
    0000: 09 00 00 00 0f 00 00 00 – 00 00 10 00 00 00 00 00 …….. – ……..
    32%execMtpOp: MTP_OP_GetPartialObject – Data payload [ID c] (0x00100008 bytes):
    0000: 0c 00 00 00 0f 00 00 00 – ff d8 ff e1 63 e8 45 78 …….. – ….c.Ex
    0010: 69 66 00 00 49 49 2a 00 – 08 00 00 00 0c 00 0f 01 if..II*. – ……..
    0020: 02 00 06 00 00 00 9e 00 – 00 00 10 01 02 00 0f 00 …….. – ……..
    0030: 00 00 a4 00 00 00 12 01 – 03 00 01 00 00 00 01 00 …….. – ……..
    execMtpOp: MTP_OP_GetPartialObject – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 0f 00 – 00 00 00 00 10 00 00 00 ….. .. – ……..
    0010: 00 00 ..
    IMG_0182.JPG – downloading next piece, offset=0x100000, count=0x100000
    execMtpOp: MTP_OP_GetPartialObject – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 1b 10 10 00 00 00 62 0b …….. – ……b.
    0010: 90 91 00 00 10 00 00 00 – 10 00 …….. – ..
    execMtpOp: MTP_OP_GetPartialObject – DataStart payload [expected data bytes is 0x100000]
    0000: 09 00 00 00 10 00 00 00 – 00 00 10 00 00 00 00 00 …….. – ……..
    65%execMtpOp: MTP_OP_GetPartialObject – Data payload [ID c] (0x00100008 bytes):
    0000: 0c 00 00 00 10 00 00 00 – 00 3b 43 03 95 c7 46 f7 …….. – .;C…F.
    0010: af 7a 6a 9b a3 1a 32 eb – a1 96 0a 5c f8 89 3a 8f .zj…2. – …\..:.
    0020: 75 73 a9 d3 a5 d5 35 35 – b6 be 9c a5 ca 5f 8c e9 us….55 – ….._..
    0030: f6 f7 ce 49 b9 07 e5 2d – 9e e0 30 fc 31 5b 3e 18 …I…- – ..0.1[>.
    execMtpOp: MTP_OP_GetPartialObject – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 10 00 – 00 00 00 00 10 00 00 00 ….. .. – ……..
    0010: 00 00 ..
    IMG_0182.JPG – downloading next piece, offset=0x200000, count=0x100000
    execMtpOp: MTP_OP_GetPartialObject – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 1b 10 11 00 00 00 62 0b …….. – ……b.
    0010: 90 91 00 00 20 00 00 00 – 10 00 …. … – ..
    execMtpOp: MTP_OP_GetPartialObject – DataStart payload [expected data bytes is 0x100000]
    0000: 09 00 00 00 11 00 00 00 – 00 00 10 00 00 00 00 00 …….. – ……..
    98%execMtpOp: MTP_OP_GetPartialObject – Data payload [ID c] (0x00100008 bytes):
    0000: 0c 00 00 00 11 00 00 00 – 4f 5d 07 42 b4 29 36 ed …….. – O].B.)6.
    0010: ab 2a 26 a2 ae 84 72 a3 – 8c ee 6c 36 69 e9 a9 0c .*&…r. – ..l6i…
    0020: 85 27 a1 00 d5 a6 61 53 – 55 ee ad 4b 02 f9 b8 fd .’….aS – U..K….
    0030: e1 db 90 c7 9e be 84 d5 – 85 bd 0e 41 df 82 01 2b …….. – …A…+
    execMtpOp: MTP_OP_GetPartialObject – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 11 00 – 00 00 00 00 10 00 00 00 ….. .. – ……..
    0010: 00 00 ..
    IMG_0182.JPG – downloading next piece, offset=0x300000, count=0xf72d
    execMtpOp: MTP_OP_GetPartialObject – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 1b 10 12 00 00 00 62 0b …….. – ……b.
    0010: 90 91 00 00 30 00 2d f7 – 00 00 ….0.-. – ..
    execMtpOp: MTP_OP_GetPartialObject – DataStart payload [expected data bytes is 0xf72d]
    0000: 09 00 00 00 12 00 00 00 – 2d f7 00 00 00 00 00 00 …….. – -…….
    100%execMtpOp: MTP_OP_GetPartialObject – Data payload [ID c] (0x0000f735 bytes):
    0000: 0c 00 00 00 12 00 00 00 – 5d f0 c2 aa d0 49 20 20 …….. – ]….I
    0010: 61 fd 79 1d 3a 7e 19 af – 56 bd 92 e3 41 f0 ec d3 a.y.:~.. – V…A…
    0020: 6b f0 45 f6 2b 6b 88 d6 – 2b 88 d8 32 3e f1 fb b6 k.E.+k.. – +..2>…
    0030: 07 1f 30 20 91 d4 7e 35 – f3 5c 41 5a 9c 63 4a 32 ..0 ..~5 – .\AZ.cJ2
    execMtpOp: MTP_OP_GetPartialObject – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 12 00 – 00 00 2d f7 00 00 00 00 ….. .. – ..-…..
    0010: 00 00 ..
    /Users/besi/Desktop/IMG_0182.JPG writing 0x30f72d bytes, closeAfterWriting=1
    /Users/besi/Desktop/IMG_0182.JPG [size = 3,209,005] in 6.32 seconds (0.48 MB/s)
    download exec args input: [‘open’, ‘@pf@’]
    download exec args output: [‘open’, u’/Users/besi/Desktop/IMG_0182.JPG’]
    Launching ‘downloadexec’: [‘open’, u’/Users/besi/Desktop/IMG_0182.JPG’]
    Skipping 100CANON – object is not file – MTP_OBJFORMAT_Assocation (0x3001)
    Skipping DCIM – object is not file – MTP_OBJFORMAT_Assocation (0x3001)
    Waiting for realtime photos from camera to download. Press <ctrl-c> to exit \execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 13 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x14]
    0000: 09 00 00 00 13 00 00 00 – 14 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x0000001c bytes):
    0000: 0c 00 00 00 13 00 00 00 – 04 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 62 0b 90 91 – 00 00 08 a0 ….b… – ….
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 13 00 – 00 00 ….. .. – ..
    |execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 14 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x14]
    0000: 09 00 00 00 14 00 00 00 – 14 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x0000001c bytes):
    0000: 0c 00 00 00 14 00 00 00 – 04 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 62 0b 90 91 – 00 00 08 a0 ….b… – ….
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 14 00 – 00 00 ….. .. – ..
    /execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 15 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x18]
    0000: 09 00 00 00 15 00 00 00 – 18 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000020 bytes):
    0000: 0c 00 00 00 15 00 00 00 – 05 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 62 0b 90 91 – 72 0b 90 91 00 00 08 a0 ….b… – r…….
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 15 00 – 00 00 ….. .. – ..
    realTimeCapture_MtpObjPollingMethod(): Current MTP object list (count=5):
    0000: 90000000 91900000 – 91900b62 91900b72
    0010: a0080000
    realTimeCapture_MtpObjPollingMethod(): New MTP object list (count=1):
    0000: 91900b72
    Retrieving list of images/files from camera: 0/1 execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 16 00 00 00 72 0b …….. – ……r.
    0010: 90 91 ..
    execMtpOp: MTP_OP_GetObjectInfo – DataStart payload [expected data bytes is 0x9a]
    0000: 09 00 00 00 16 00 00 00 – 9a 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectInfo – Data payload [ID c] (0x000000a2 bytes):
    0000: 0c 00 00 00 16 00 00 00 – 01 00 02 00 01 38 00 00 …….. – …..8..
    0010: 47 73 2b 00 08 38 a8 32 – 00 00 a0 00 00 00 78 00 Gs+..8.2 – ……x.
    0020: 00 00 90 0f 00 00 60 0a – 00 00 18 00 00 00 00 00 ……`. – ……..
    0030: 90 91 00 00 00 00 00 00 – 00 00 00 00 0d 49 00 4d …….. – …..I.M
    0040: 00 47 00 5f 00 30 00 31 – 00 38 00 33 00 2e 00 4a .G._.0.1 – .8.3…J
    0050: 00 50 00 47 00 00 00 12 – 32 00 30 00 31 00 38 00 .P.G…. – 2.0.1.8.
    0060: 30 00 39 00 32 00 36 00 – 54 00 30 00 37 00 31 00 0.9.2.6. – T.0.7.1.
    0070: 37 00 35 00 39 00 2e 00 – 30 00 00 00 12 32 00 30 7.5.9… – 0….2.0
    0080: 00 31 00 38 00 30 00 39 – 00 32 00 36 00 54 00 30 .1.8.0.9 – .2.6.T.0
    0090: 00 37 00 31 00 37 00 35 – 00 38 00 2e 00 30 00 00 .7.1.7.5 – .8…0..
    00a0: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 16 00 – 00 00 ….. .. – ..
    Creating MtpObject with the following mtpObjectInfo:
    MtpObject instance = 0x10f34db90
    mtpObjectHandle = 0x91900b72
    — mptObjectInfo —
    storageId = MTP_STORAGEID_SubSlotPopulated (0x20001)
    objectFormat = MTP_OBJFORMAT_EXIF_or_JPEG (0x3801)
    protectionStatus = 0x0000
    compressedSize = 0x002b7347
    thumbFormat = MTP_OBJFORMAT_JFIF (0x3808)
    thumbCompressedSize= 0x000032a8
    thumbPixDimensions = 160×120
    imagePixDimensions = 3984×2656
    imageBitDepth = 24
    parentObject = 0x91900000
    associationType = No Association or Unknown (0x0000)
    associationDesc = 0x00000000
    sequenceNumber = 0x00000000
    filename = DCIM\100CANON\IMG_0183.JPG
    captureDateSt = 20180926T071759
    modificationDateStr= 20180926T071758
    Skipping IMG_0182.JPG – already downloaded this session
    Skipping 100CANON – object is not file – MTP_OBJFORMAT_Assocation (0x3001)
    Skipping DCIM – object is not file – MTP_OBJFORMAT_Assocation (0x3001)
    Waiting for realtime photos from camera to download. Press <ctrl-c> to exit -execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 17 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x18]
    0000: 09 00 00 00 17 00 00 00 – 18 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000020 bytes):
    0000: 0c 00 00 00 17 00 00 00 – 05 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 62 0b 90 91 – 72 0b 90 91 00 00 08 a0 ….b… – r…….
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 17 00 – 00 00 ….. .. – ..
    \execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 18 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x18]
    0000: 09 00 00 00 18 00 00 00 – 18 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000020 bytes):
    0000: 0c 00 00 00 18 00 00 00 – 05 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 62 0b 90 91 – 72 0b 90 91 00 00 08 a0 ….b… – r…….
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 18 00 – 00 00 ….. .. – ..
    |execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 19 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x18]
    0000: 09 00 00 00 19 00 00 00 – 18 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000020 bytes):
    0000: 0c 00 00 00 19 00 00 00 – 05 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 62 0b 90 91 – 72 0b 90 91 00 00 08 a0 ….b… – r…….
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 19 00 – 00 00 ….. .. – ..
    /execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 1a 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x18]
    0000: 09 00 00 00 1a 00 00 00 – 18 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000020 bytes):
    0000: 0c 00 00 00 1a 00 00 00 – 05 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 62 0b 90 91 – 72 0b 90 91 00 00 08 a0 ….b… – r…….
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 1a 00 – 00 00 ….. .. – ..
    -execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 1b 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x1c]
    0000: 09 00 00 00 1b 00 00 00 – 1c 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000024 bytes):
    0000: 0c 00 00 00 1b 00 00 00 – 06 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 62 0b 90 91 – 72 0b 90 91 82 0b 90 91 ….b… – r…….
    0020: 00 00 08 a0 ….
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 1b 00 – 00 00 ….. .. – ..
    realTimeCapture_MtpObjPollingMethod(): Current MTP object list (count=6):
    0000: 90000000 91900000 – 91900b62 91900b72
    0010: 91900b82 a0080000 –
    realTimeCapture_MtpObjPollingMethod(): New MTP object list (count=1):
    0000: 91900b82
    Retrieving list of images/files from camera: 0/1 execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 1c 00 00 00 82 0b …….. – ……..
    0010: 90 91 ..
    execMtpOp: MTP_OP_GetObjectInfo – DataStart payload [expected data bytes is 0x9a]
    0000: 09 00 00 00 1c 00 00 00 – 9a 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectInfo – Data payload [ID c] (0x000000a2 bytes):
    0000: 0c 00 00 00 1c 00 00 00 – 01 00 02 00 01 38 00 00 …….. – …..8..
    0010: f9 26 30 00 08 38 90 32 – 00 00 a0 00 00 00 78 00 .&0..8.2 – ……x.
    0020: 00 00 90 0f 00 00 60 0a – 00 00 18 00 00 00 00 00 ……`. – ……..
    0030: 90 91 00 00 00 00 00 00 – 00 00 00 00 0d 49 00 4d …….. – …..I.M
    0040: 00 47 00 5f 00 30 00 31 – 00 38 00 34 00 2e 00 4a .G._.0.1 – .8.4…J
    0050: 00 50 00 47 00 00 00 12 – 32 00 30 00 31 00 38 00 .P.G…. – 2.0.1.8.
    0060: 30 00 39 00 32 00 36 00 – 54 00 30 00 37 00 31 00 0.9.2.6. – T.0.7.1.
    0070: 38 00 31 00 30 00 2e 00 – 30 00 00 00 12 32 00 30 8.1.0… – 0….2.0
    0080: 00 31 00 38 00 30 00 39 – 00 32 00 36 00 54 00 30 .1.8.0.9 – .2.6.T.0
    0090: 00 37 00 31 00 38 00 31 – 00 30 00 2e 00 30 00 00 .7.1.8.1 – .0…0..
    00a0: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 1c 00 – 00 00 ….. .. – ..
    Creating MtpObject with the following mtpObjectInfo:
    MtpObject instance = 0x10f34d9e0
    mtpObjectHandle = 0x91900b82
    — mptObjectInfo —
    storageId = MTP_STORAGEID_SubSlotPopulated (0x20001)
    objectFormat = MTP_OBJFORMAT_EXIF_or_JPEG (0x3801)
    protectionStatus = 0x0000
    compressedSize = 0x003026f9
    thumbFormat = MTP_OBJFORMAT_JFIF (0x3808)
    thumbCompressedSize= 0x00003290
    thumbPixDimensions = 160×120
    imagePixDimensions = 3984×2656
    imageBitDepth = 24
    parentObject = 0x91900000
    associationType = No Association or Unknown (0x0000)
    associationDesc = 0x00000000
    sequenceNumber = 0x00000000
    filename = DCIM\100CANON\IMG_0184.JPG
    captureDateSt = 20180926T071810
    modificationDateStr= 20180926T071810
    Skipping IMG_0182.JPG – already downloaded this session
    Skipping 100CANON – object is not file – MTP_OBJFORMAT_Assocation (0x3001)
    Skipping DCIM – object is not file – MTP_OBJFORMAT_Assocation (0x3001)
    Waiting for realtime photos from camera to download. Press <ctrl-c> to exit \execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 1d 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x1c]
    0000: 09 00 00 00 1d 00 00 00 – 1c 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000024 bytes):
    0000: 0c 00 00 00 1d 00 00 00 – 06 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 62 0b 90 91 – 72 0b 90 91 82 0b 90 91 ….b… – r…….
    0020: 00 00 08 a0 ….
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 1d 00 – 00 00 ….. .. – ..
    |execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 1e 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x1c]
    0000: 09 00 00 00 1e 00 00 00 – 1c 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000024 bytes):
    0000: 0c 00 00 00 1e 00 00 00 – 06 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 62 0b 90 91 – 72 0b 90 91 82 0b 90 91 ….b… – r…….
    0020: 00 00 08 a0 ….
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 1e 00 – 00 00 ….. .. – ..
    /execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 1f 00 00 00 01 00 …….. – ……..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x1c]
    0000: 09 00 00 00 1f 00 00 00 – 1c 00 00 00 00 00 00 00 …….. – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000024 bytes):
    0000: 0c 00 00 00 1f 00 00 00 – 06 00 00 00 00 00 00 90 …….. – ……..
    0010: 00 00 90 91 62 0b 90 91 – 72 0b 90 91 82 0b 90 91 ….b… – r…….
    0020: 00 00 08 a0 ….
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 1f 00 – 00 00 ….. .. – ..
    -execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 20 00 00 00 01 00 …….. – .. …..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x1c]
    0000: 09 00 00 00 20 00 00 00 – 1c 00 00 00 00 00 00 00 …. … – ……..
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000024 bytes):
    0000: 0c 00 00 00 20 00 00 00 – 06 00 00 00 00 00 00 90 …. … – ……..
    0010: 00 00 90 91 62 0b 90 91 – 72 0b 90 91 82 0b 90 91 ….b… – r…….
    0020: 00 00 08 a0 ….
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 20 00 – 00 00 ….. . – ..
    \execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 21 00 00 00 01 00 …….. – ..!…..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x20]
    0000: 09 00 00 00 21 00 00 00 – 20 00 00 00 00 00 00 00 ….!… – …….
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000028 bytes):
    0000: 0c 00 00 00 21 00 00 00 – 07 00 00 00 00 00 00 90 ….!… – ……..
    0010: 00 00 90 91 62 0b 90 91 – 72 0b 90 91 82 0b 90 91 ….b… – r…….
    0020: 92 0b 90 91 00 00 08 a0 – …….. –
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 21 00 – 00 00 ….. !. – ..
    realTimeCapture_MtpObjPollingMethod(): Current MTP object list (count=7):
    0000: 90000000 91900000 – 91900b62 91900b72
    0010: 91900b82 91900b92 – a0080000
    realTimeCapture_MtpObjPollingMethod(): New MTP object list (count=1):
    0000: 91900b92
    Retrieving list of images/files from camera: 0/1 execMtpOp: MTP_OP_GetObjectInfo – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 08 10 22 00 00 00 92 0b …….. – ..”…..
    0010: 90 91 ..
    execMtpOp: MTP_OP_GetObjectInfo – DataStart payload [expected data bytes is 0x9a]
    0000: 09 00 00 00 22 00 00 00 – 9a 00 00 00 00 00 00 00 ….”… – ……..
    execMtpOp: MTP_OP_GetObjectInfo – Data payload [ID c] (0x000000a2 bytes):
    0000: 0c 00 00 00 22 00 00 00 – 01 00 02 00 01 38 00 00 ….”… – …..8..
    0010: 15 d9 30 00 08 38 78 28 – 00 00 a0 00 00 00 78 00 ..0..8x( – ……x.
    0020: 00 00 90 0f 00 00 60 0a – 00 00 18 00 00 00 00 00 ……`. – ……..
    0030: 90 91 00 00 00 00 00 00 – 00 00 00 00 0d 49 00 4d …….. – …..I.M
    0040: 00 47 00 5f 00 30 00 31 – 00 38 00 35 00 2e 00 4a .G._.0.1 – .8.5…J
    0050: 00 50 00 47 00 00 00 12 – 32 00 30 00 31 00 38 00 .P.G…. – 2.0.1.8.
    0060: 30 00 39 00 32 00 36 00 – 54 00 30 00 37 00 31 00 0.9.2.6. – T.0.7.1.
    0070: 38 00 32 00 34 00 2e 00 – 30 00 00 00 12 32 00 30 8.2.4… – 0….2.0
    0080: 00 31 00 38 00 30 00 39 – 00 32 00 36 00 54 00 30 .1.8.0.9 – .2.6.T.0
    0090: 00 37 00 31 00 38 00 32 – 00 34 00 2e 00 30 00 00 .7.1.8.2 – .4…0..
    00a0: 00 00 ..
    execMtpOp: MTP_OP_GetObjectInfo – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 22 00 – 00 00 ….. “. – ..
    Creating MtpObject with the following mtpObjectInfo:
    MtpObject instance = 0x10f34da28
    mtpObjectHandle = 0x91900b92
    — mptObjectInfo —
    storageId = MTP_STORAGEID_SubSlotPopulated (0x20001)
    objectFormat = MTP_OBJFORMAT_EXIF_or_JPEG (0x3801)
    protectionStatus = 0x0000
    compressedSize = 0x0030d915
    thumbFormat = MTP_OBJFORMAT_JFIF (0x3808)
    thumbCompressedSize= 0x00002878
    thumbPixDimensions = 160×120
    imagePixDimensions = 3984×2656
    imageBitDepth = 24
    parentObject = 0x91900000
    associationType = No Association or Unknown (0x0000)
    associationDesc = 0x00000000
    sequenceNumber = 0x00000000
    filename = DCIM\100CANON\IMG_0185.JPG
    captureDateSt = 20180926T071824
    modificationDateStr= 20180926T071824
    Skipping IMG_0182.JPG – already downloaded this session
    Skipping 100CANON – object is not file – MTP_OBJFORMAT_Assocation (0x3001)
    Skipping DCIM – object is not file – MTP_OBJFORMAT_Assocation (0x3001)
    Waiting for realtime photos from camera to download. Press <ctrl-c> to exit |execMtpOp: MTP_OP_GetObjectHandles – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 07 10 23 00 00 00 01 00 …….. – ..#…..
    0010: 02 00 00 00 00 00 00 00 – 00 00 …….. – ..
    execMtpOp: MTP_OP_GetObjectHandles – DataStart payload [expected data bytes is 0x20]
    0000: 09 00 00 00 23 00 00 00 – 20 00 00 00 00 00 00 00 ….#… – …….
    execMtpOp: MTP_OP_GetObjectHandles – Data payload [ID c] (0x00000028 bytes):
    0000: 0c 00 00 00 23 00 00 00 – 07 00 00 00 00 00 00 90 ….#… – ……..
    0010: 00 00 90 91 62 0b 90 91 – 72 0b 90 91 82 0b 90 91 ….b… – r…….
    0020: 92 0b 90 91 00 00 08 a0 – …….. –
    execMtpOp: MTP_OP_GetObjectHandles – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 23 00 – 00 00 ….. #. – ..

    1 files downloaded in 6.32 seconds (Average Rate = 0.48 MB/s)

    >> Terminated by user keypress – cleaning up, please wait… <<
    execMtpOp: MTP_OP_CloseSession – CmdReq payload:
    0000: 06 00 00 00 01 00 00 00 – 03 10 24 00 00 00 …….. – ..$…
    execMtpOp: MTP_OP_CloseSession – CmdResponse payload (resp=”MTP_RESP_Ok”):
    0000: 07 00 00 00 01 20 24 00 – 00 00 ….. $. – ..

    #9724

    besi
    Participant
    #9725

    besi
    Participant

    A heads up: I do see the new images as they’re being captured in the debug output. However, as soon as an image is encountered that was already downloaded it skips the whole process.

    I was able to get it working now with these parameters:

    –rtd_mtppollingmethod_newobjdetection numobjs
    –transferorder oldestfirst`

    So the working call looks like this:

    clear && python airnefcmd.py --ipaddress 192.168.1.116 --action getfiles --realtimedownload only --downloadexec open @pf@ --transferorder newestfirst --outputdir "/Users/besi/Desktop" --rtd_mtppollingmethod_newobjdetection numobjs --transferorder oldestfirst

    So I am happy it works now. However, I would still consider this a bug since it should not matter in which order the pictures are enumerated.

    #9726

    Adam
    Participant

    Thanks. I evaluated the debug log and the issue is one that was discovered earlier this year – the logic is not properly forcing the transfer order to “oldestfirst” internally for realtime transfers. It’s supposed to do this irrespective of the –transferorder option, because the realtime logic relies on it. As you discovered, the issue can be worked around by externally triggering this transfer order via the –transferorder oldestfirst.

Viewing 7 posts - 1 through 7 (of 7 total)

You must be logged in to reply to this topic.