Issues with DFU Library for Android and iOS

Hi,

We are facing issue with upgrading our devices using DFU library. 

Despite using the latest version of the Nordic iOS DFU Library, the firmware update process exhibits inconsistent behavior.

Here are the details of the issues:

  1. Intermittent Success:

    • Firmware updates sometimes complete successfully, but at other times, they fail unpredictably.
    • The same module may accept the firmware update in one attempt but fail or get stuck during subsequent tries.
  2. Most Common Issues Observed:

    • The firmware update process completes with a success message at the end, but the module does not actually update its firmware.
    • The progress bar or update process gets stuck midway, requiring a retry.
  3. Inconsistent Results:

    • At times, all modules update successfully in one go. However, in other cases, it takes up to three attempts to achieve the same outcome.

The behavior seems unexpected and doesn’t point to a clear pattern. I would appreciate it if you could share any insights or recommendations to resolve this. If you’ve experienced similar issues or have suggestions for debugging, they would be incredibly helpful.

While we use the DFU app for Android (version 2.7.0), the DFU works most of the time without any issue. Is there any difference b/w library used by DFU app and that available for development?

We are using nRF52840 devices and the SDK version at their end is 16.0.

Best regards.

  • Hi,

    It is difficult to say much without more information. Some questions:

    1. Does this also fail sometimes if you use nRF Connect for Mobile to perform DFU, or does it only fail withour mobile application
    2. Do you have logs from the mobile side you can share that shows both a successfull and failed update?
    3. Are you able to test with a debug bootlaoder with RTT logging so that we can see hwat is happening on the nRF side? If so, can you share logs both of the working and failing case?
  • Thanks for the reply.

    1. The DFU rarely fails when PC app used, does not fail if DFU app used on Android phone

    2. Attached is the log from the data returned from the DFU library on our iOS device

    3. I'm not able to run the debug version but planning to run one in the coming working days. Generally we use non debug version on our devices.

    Regards.

  • Hi,

    Aftab said:
    1. The DFU rarely fails when PC app used, does not fail if DFU app used on Android phone

    I see, that is good information.

    Aftab said:
    2. Attached is the log from the data returned from the DFU library on our iOS device

    I do not see the attachment. Can you try uploading again?

    Aftab said:
    3. I'm not able to run the debug version but planning to run one in the coming working days. Generally we use non debug version on our devices.

    That is understood. I am not suggesting using the debug version in production, but only to do it while debugging to understand what is going wrong durign the DFU procedure.

  • Sorry, below are the logs from the iOS app. I'll run the debug version as well and update the ticket.

    {\rtf1\ansi\ansicpg1252\cocoartf2820
    \cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fnil\fcharset0 Menlo-Regular;}
    {\colortbl;\red255\green255\blue255;\red0\green0\blue0;\red255\green255\blue255;}
    {\*\expandedcolortbl;;\cssrgb\c0\c1\c1;\cssrgb\c100000\c100000\c100000\c0;}
    \paperw11900\paperh16840\margl1440\margr1440\vieww25780\viewh14140\viewkind0
    \deftab593
    \pard\tx593\pardeftab593\partightenfactor0
    
    \f0\fs36 \cf2 \cb3 @@@#@@ DFU State Changed : Connecting\
    @@@#@@ DFU State Changed : Starting\
    @@@#@@ DFU State Changed : Uploading\
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 0, currentSpeedBytesPerSecond: 0.0 and avgSpeedBytesPerSecond: 0.0 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 1, currentSpeedBytesPerSecond: 2988058.9080291972 and avgSpeedBytesPerSecond: 2988058.9080291972 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 2, currentSpeedBytesPerSecond: 757.510433177597 and avgSpeedBytesPerSecond: 1532.9952615399852 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 3, currentSpeedBytesPerSecond: 4339548.449469965 and avgSpeedBytesPerSecond: 2308.264139490569 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 4, currentSpeedBytesPerSecond: 1275.8533752678397 and avgSpeedBytesPerSecond: 1923.7550683002887 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 5, currentSpeedBytesPerSecond: 1950178.188439551 and avgSpeedBytesPerSecond: 2409.854813819306 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 6, currentSpeedBytesPerSecond: 2805.919121360395 and avgSpeedBytesPerSecond: 2467.201587615723 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 7, currentSpeedBytesPerSecond: 3238639.7974683545 and avgSpeedBytesPerSecond: 2882.958249468908 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 8, currentSpeedBytesPerSecond: 4767.464908248734 and avgSpeedBytesPerSecond: 3030.9236693036296 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 9, currentSpeedBytesPerSecond: 5016716.549019608 and avgSpeedBytesPerSecond: 3371.498951188032 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 10, currentSpeedBytesPerSecond: 1589.3560711395373 and avgSpeedBytesPerSecond: 3031.797413119391 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 11, currentSpeedBytesPerSecond: 4884.03751995425 and avgSpeedBytesPerSecond: 3142.4472436247747 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 12, currentSpeedBytesPerSecond: 10197.336841084689 and avgSpeedBytesPerSecond: 3334.1652902308465 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 13, currentSpeedBytesPerSecond: 7305.269181335923 and avgSpeedBytesPerSecond: 3482.6862630021606 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 14, currentSpeedBytesPerSecond: 6192.896798456835 and avgSpeedBytesPerSecond: 3594.6041312501616 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 15, currentSpeedBytesPerSecond: 10564.294658607361 and avgSpeedBytesPerSecond: 3763.2337870703273 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 16, currentSpeedBytesPerSecond: 12908.042347439337 and avgSpeedBytesPerSecond: 3936.6747518197612 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 17, currentSpeedBytesPerSecond: 6881.285645906271 and avgSpeedBytesPerSecond: 4029.0608532273404 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 18, currentSpeedBytesPerSecond: 14182.606113798827 and avgSpeedBytesPerSecond: 4196.036665508397 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 19, currentSpeedBytesPerSecond: 7734.110647416531 and avgSpeedBytesPerSecond: 4302.0461001192025 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 20, currentSpeedBytesPerSecond: 12919.16892303957 and avgSpeedBytesPerSecond: 4450.355414486977 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 21, currentSpeedBytesPerSecond: 7544.699570772241 and avgSpeedBytesPerSecond: 4538.93897984396 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 22, currentSpeedBytesPerSecond: 13233.695234072267 and avgSpeedBytesPerSecond: 4681.897595393934 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 23, currentSpeedBytesPerSecond: 4772.228937388755 and avgSpeedBytesPerSecond: 4685.747314624511 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 24, currentSpeedBytesPerSecond: 2671701.692240754 and avgSpeedBytesPerSecond: 4893.680211679327 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 25, currentSpeedBytesPerSecond: 4769.287929059357 and avgSpeedBytesPerSecond: 4888.59296005898 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 26, currentSpeedBytesPerSecond: 4968010.563106796 and avgSpeedBytesPerSecond: 5088.167828729734 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 27, currentSpeedBytesPerSecond: 4770.296119374799 and avgSpeedBytesPerSecond: 5075.681665756362 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 28, currentSpeedBytesPerSecond: 3812470.9699650756 and avgSpeedBytesPerSecond: 5246.046314665811 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 29, currentSpeedBytesPerSecond: 4769.012237295884 and avgSpeedBytesPerSecond: 5228.012503086341 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 30, currentSpeedBytesPerSecond: 3490881.782831154 and avgSpeedBytesPerSecond: 5412.386744689428 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 31, currentSpeedBytesPerSecond: 4770.392280235862 and avgSpeedBytesPerSecond: 5389.008557217882 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 32, currentSpeedBytesPerSecond: 7731.711768989434 and avgSpeedBytesPerSecond: 5441.707492348567 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 33, currentSpeedBytesPerSecond: 12907.11599784991 and avgSpeedBytesPerSecond: 5538.646979146933 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 34, currentSpeedBytesPerSecond: 7725.836102948053 and avgSpeedBytesPerSecond: 5586.189313563269 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 35, currentSpeedBytesPerSecond: 12923.448484195247 and avgSpeedBytesPerSecond: 5678.109813049029 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 36, currentSpeedBytesPerSecond: 6887.062540403426 and avgSpeedBytesPerSecond: 5703.443013455493 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 37, currentSpeedBytesPerSecond: 12904.856262758534 and avgSpeedBytesPerSecond: 5790.8250830551215 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 38, currentSpeedBytesPerSecond: 7684.583292000165 and avgSpeedBytesPerSecond: 5829.541808900215 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 39, currentSpeedBytesPerSecond: 11918.123622570592 and avgSpeedBytesPerSecond: 5906.906252953884 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 40, currentSpeedBytesPerSecond: 7338.959646322171 and avgSpeedBytesPerSecond: 5936.546523991211 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 41, currentSpeedBytesPerSecond: 11902.183701480131 and avgSpeedBytesPerSecond: 6009.964457123231 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 42, currentSpeedBytesPerSecond: 7520.800886178798 and avgSpeedBytesPerSecond: 6038.82790193646 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 43, currentSpeedBytesPerSecond: 13306.757814243807 and avgSpeedBytesPerSecond: 6118.327362640488 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 44, currentSpeedBytesPerSecond: 4466.71308062357 and avgSpeedBytesPerSecond: 6067.4016702291965 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 45, currentSpeedBytesPerSecond: 2829705.5557603687 and avgSpeedBytesPerSecond: 6208.15869172915 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 46, currentSpeedBytesPerSecond: 4211.238324259611 and avgSpeedBytesPerSecond: 6144.921832353263 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 47, currentSpeedBytesPerSecond: 5545060.215374196 and avgSpeedBytesPerSecond: 6266.2002008812715 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 48, currentSpeedBytesPerSecond: 4470.382433817983 and avgSpeedBytesPerSecond: 6214.1812536798025 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 49, currentSpeedBytesPerSecond: 2684550.155639755 and avgSpeedBytesPerSecond: 6346.500678115091 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 50, currentSpeedBytesPerSecond: 3868.1232444946186 and avgSpeedBytesPerSecond: 6266.223955977206 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 51, currentSpeedBytesPerSecond: 2655525.8999567535 and avgSpeedBytesPerSecond: 6394.245494823177 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 52, currentSpeedBytesPerSecond: 3974.698215834283 and avgSpeedBytesPerSecond: 6320.3099188066935 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 53, currentSpeedBytesPerSecond: 7296.261904252665 and avgSpeedBytesPerSecond: 6336.6711767056195 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 54, currentSpeedBytesPerSecond: 9578.015222425065 and avgSpeedBytesPerSecond: 6376.587386123816 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 55, currentSpeedBytesPerSecond: 6835.33145292345 and avgSpeedBytesPerSecond: 6383.683091538352 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 56, currentSpeedBytesPerSecond: 8900.326986458373 and avgSpeedBytesPerSecond: 6416.095828544286 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 57, currentSpeedBytesPerSecond: 5868.456156972283 and avgSpeedBytesPerSecond: 6405.354071920597 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 58, currentSpeedBytesPerSecond: 9478.673089369022 and avgSpeedBytesPerSecond: 6441.365303535825  \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 59, currentSpeedBytesPerSecond: 7743.984745243293 and avgSpeedBytesPerSecond: 6460.223716007399 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 60, currentSpeedBytesPerSecond: 11022.854227623242 and avgSpeedBytesPerSecond: 6505.085285157375 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 61, currentSpeedBytesPerSecond: 7310.1074957499795 and avgSpeedBytesPerSecond: 6517.127305413845 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 62, currentSpeedBytesPerSecond: 11927.41066101814 and avgSpeedBytesPerSecond: 6565.124024587673 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 63, currentSpeedBytesPerSecond: 6495.646240239411 and avgSpeedBytesPerSecond: 6564.108658587843 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 64, currentSpeedBytesPerSecond: 11940.428929747013 and avgSpeedBytesPerSecond: 6610.64940082879 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 65, currentSpeedBytesPerSecond: 6489.8512678451125 and avgSpeedBytesPerSecond: 6608.755614022924 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 66, currentSpeedBytesPerSecond: 11281.149076968772 and avgSpeedBytesPerSecond: 6651.522320321453 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 67, currentSpeedBytesPerSecond: 4336.016297572457 and avgSpeedBytesPerSecond: 6598.910240053465 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 68, currentSpeedBytesPerSecond: 3132888.293877551 and avgSpeedBytesPerSecond: 6699.605330678307 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 69, currentSpeedBytesPerSecond: 4206.428874273793 and avgSpeedBytesPerSecond: 6642.549283989747 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 70, currentSpeedBytesPerSecond: 3173364.8868217054 and avgSpeedBytesPerSecond: 6740.938215540094 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 71, currentSpeedBytesPerSecond: 3491.8684142470725 and avgSpeedBytesPerSecond: 6653.773703442969 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 72, currentSpeedBytesPerSecond: 5476035.424494649 and avgSpeedBytesPerSecond: 6749.605682524407 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 73, currentSpeedBytesPerSecond: 4085.2178232327487 and avgSpeedBytesPerSecond: 6689.8791952197425 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 74, currentSpeedBytesPerSecond: 4066193.8952073506 and avgSpeedBytesPerSecond: 6773.11606966244 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 75, currentSpeedBytesPerSecond: 3963.478516657576 and avgSpeedBytesPerSecond: 6709.666369574512 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 76, currentSpeedBytesPerSecond: 7344.876323882333 and avgSpeedBytesPerSecond: 6717.497219491052 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 77, currentSpeedBytesPerSecond: 11015.205276467623 and avgSpeedBytesPerSecond: 6751.714170206648 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 78, currentSpeedBytesPerSecond: 7687.703672543437 and avgSpeedBytesPerSecond: 6762.524372372804 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 79, currentSpeedBytesPerSecond: 11954.746923435861 and avgSpeedBytesPerSecond: 6799.9033161385405 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 80, currentSpeedBytesPerSecond: 7698.318435712166 and avgSpeedBytesPerSecond: 6810.074188392338 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 81, currentSpeedBytesPerSecond: 11011.253318802825 and avgSpeedBytesPerSecond: 6842.289389571114 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 82, currentSpeedBytesPerSecond: 6211.179213330779 and avgSpeedBytesPerSecond: 6834.573777474887 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 83, currentSpeedBytesPerSecond: 7462.5302697355755 and avgSpeedBytesPerSecond: 6841.514437894936 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 84, currentSpeedBytesPerSecond: 7378.759567433674 and avgSpeedBytesPerSecond: 6847.595926288166 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 85, currentSpeedBytesPerSecond: 10196.752918391621 and avgSpeedBytesPerSecond: 6874.168118047971 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 86, currentSpeedBytesPerSecond: 7497.840739663003 and avgSpeedBytesPerSecond: 6880.825651251165 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 87, currentSpeedBytesPerSecond: 11281.611966184651 and avgSpeedBytesPerSecond: 6912.573560636819 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 88, currentSpeedBytesPerSecond: 4086.378066599701 and avgSpeedBytesPerSecond: 6858.666174854275 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 89, currentSpeedBytesPerSecond: 1322140.4699633962 and avgSpeedBytesPerSecond: 6938.082019781906 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 90, currentSpeedBytesPerSecond: 4332.731121786981 and avgSpeedBytesPerSecond: 6892.043645816034 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 91, currentSpeedBytesPerSecond: 1598245.980218636 and avgSpeedBytesPerSecond: 6970.120966094225 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 92, currentSpeedBytesPerSecond: 4230.173662868917 and avgSpeedBytesPerSecond: 6921.414287465208 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 93, currentSpeedBytesPerSecond: 4593145.249929874 and avgSpeedBytesPerSecond: 6989.7736696327465 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 94, currentSpeedBytesPerSecond: 4193.683945051035 and avgSpeedBytesPerSecond: 6940.520392375036 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 95, currentSpeedBytesPerSecond: 4472295.015294975 and avgSpeedBytesPerSecond: 7016.065341354268 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 96, currentSpeedBytesPerSecond: 3769.8361037567824 and avgSpeedBytesPerSecond: 6953.677306143982 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 97, currentSpeedBytesPerSecond: 6686.559017519865 and avgSpeedBytesPerSecond: 6950.745334365124 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 98, currentSpeedBytesPerSecond: 5932.8799577494665 and avgSpeedBytesPerSecond: 6938.5985255313235 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 99, currentSpeedBytesPerSecond: 6115.099699180931 and avgSpeedBytesPerSecond: 6928.947254936667 \
    @@@#@@ dfuProgressDidChange for Part:1, out of : 2 to Progress: 100, currentSpeedBytesPerSecond: 9818.423552889133 and avgSpeedBytesPerSecond: 6947.38454828641 \
    @@@#@@ DFU State Changed : Disconnecting\
    @@@#@@ DFU State Changed : Connecting\
    @@@#@@ DFU State Changed : Starting\
    @@@#@@ DFU State Changed : Uploading\
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 0, currentSpeedBytesPerSecond: 0.0 and avgSpeedBytesPerSecond: 0.0 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 1, currentSpeedBytesPerSecond: 2464351.988992088 and avgSpeedBytesPerSecond: 2464351.988992088 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 2, currentSpeedBytesPerSecond: 8529.169512552297 and avgSpeedBytesPerSecond: 16999.50341764027 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 3, currentSpeedBytesPerSecond: 8529.619714323082 and avgSpeedBytesPerSecond: 12837.450136665813 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 4, currentSpeedBytesPerSecond: 3382375.463644948 and avgSpeedBytesPerSecond: 17138.566754808235 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 5, currentSpeedBytesPerSecond: 3457.996173972007 and avgSpeedBytesPerSecond: 9646.775813666394 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 6, currentSpeedBytesPerSecond: 5388395.059796916 and avgSpeedBytesPerSecond: 11595.71317636462 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 7, currentSpeedBytesPerSecond: 4867.604407625711 and avgSpeedBytesPerSecond: 9874.358728115167 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 8, currentSpeedBytesPerSecond: 10074.213767296145 and avgSpeedBytesPerSecond: 9898.876198142472 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 9, currentSpeedBytesPerSecond: 2818757.1245327564 and avgSpeedBytesPerSecond: 11168.500021742226 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 10, currentSpeedBytesPerSecond: 3566.774594738241 and avgSpeedBytesPerSecond: 9212.999714136706 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 11, currentSpeedBytesPerSecond: 3290707.961414791 and avgSpeedBytesPerSecond: 10156.422652299607 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 12, currentSpeedBytesPerSecond: 5689.635473974056 and avgSpeedBytesPerSecond: 9519.580088090843 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 13, currentSpeedBytesPerSecond: 11069.004989665289 and avgSpeedBytesPerSecond: 9622.368589789334 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 14, currentSpeedBytesPerSecond: 5190584.155536771 and avgSpeedBytesPerSecond: 10270.261415570245 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 15, currentSpeedBytesPerSecond: 3346.6175067780187 and avgSpeedBytesPerSecond: 9024.561817426362 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 16, currentSpeedBytesPerSecond: 1029513.72163541 and avgSpeedBytesPerSecond: 9639.77632900786 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 17, currentSpeedBytesPerSecond: 5444.0848331940115 and avgSpeedBytesPerSecond: 9210.396457924122 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 18, currentSpeedBytesPerSecond: 11080.633088108021 and avgSpeedBytesPerSecond: 9297.33165979171 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 19, currentSpeedBytesPerSecond: 3720525.1789145675 and avgSpeedBytesPerSecond: 9827.169021775215 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 20, currentSpeedBytesPerSecond: 3454.31074669272 and avgSpeedBytesPerSecond: 9000.328872909042 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 21, currentSpeedBytesPerSecond: 3982140.762645914 and avgSpeedBytesPerSecond: 9461.479848450792 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 22, currentSpeedBytesPerSecond: 4644.551027794491 and avgSpeedBytesPerSecond: 9082.900603597234 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 23, currentSpeedBytesPerSecond: 7350.691279148832 and avgSpeedBytesPerSecond: 8990.773583125772 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 24, currentSpeedBytesPerSecond: 4206618.456840869 and avgSpeedBytesPerSecond: 9393.093503182936 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 25, currentSpeedBytesPerSecond: 3257.2970629179767 and avgSpeedBytesPerSecond: 8735.639981641869 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 26, currentSpeedBytesPerSecond: 3962318.1592920353 and avgSpeedBytesPerSecond: 9094.794242529963 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 27, currentSpeedBytesPerSecond: 5950.01715685562 and avgSpeedBytesPerSecond: 8915.402488186715 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 28, currentSpeedBytesPerSecond: 10120.27506622256 and avgSpeedBytesPerSecond: 8953.347515656162 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 29, currentSpeedBytesPerSecond: 4752678.835913313 and avgSpeedBytesPerSecond: 9234.564888768999 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 30, currentSpeedBytesPerSecond: 3163.7886768010594 and avgSpeedBytesPerSecond: 8678.999743409051 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 31, currentSpeedBytesPerSecond: 4010003.4883851106 and avgSpeedBytesPerSecond: 8976.955959300465 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 32, currentSpeedBytesPerSecond: 5402.738018681411 and avgSpeedBytesPerSecond: 8789.759565173248 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 33, currentSpeedBytesPerSecond: 10098.116715225318 and avgSpeedBytesPerSecond: 8824.365225637504 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 34, currentSpeedBytesPerSecond: 5701.485749212888 and avgSpeedBytesPerSecond: 8680.431267817286 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 35, currentSpeedBytesPerSecond: 10014.089433455474 and avgSpeedBytesPerSecond: 8713.52078039376 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 36, currentSpeedBytesPerSecond: 4182875.378746594 and avgSpeedBytesPerSecond: 8932.70516261779 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 37, currentSpeedBytesPerSecond: 5708.880306997289 and avgSpeedBytesPerSecond: 8794.216692104375 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 38, currentSpeedBytesPerSecond: 10001.875485008564 and avgSpeedBytesPerSecond: 8822.2597076172 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 39, currentSpeedBytesPerSecond: 6016.563679172985 and avgSpeedBytesPerSecond: 8714.82968045009 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 40, currentSpeedBytesPerSecond: 8451.99798488665 and avgSpeedBytesPerSecond: 8708.062677480444 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 41, currentSpeedBytesPerSecond: 3277909.509036834 and avgSpeedBytesPerSecond: 8931.893832418978 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 42, currentSpeedBytesPerSecond: 5828.585043044526 and avgSpeedBytesPerSecond: 8820.209508841719 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 43, currentSpeedBytesPerSecond: 8747.175623708397 and avgSpeedBytesPerSecond: 8818.446707331637 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 44, currentSpeedBytesPerSecond: 5141.785008300345 and avgSpeedBytesPerSecond: 8693.44455763837 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 45, currentSpeedBytesPerSecond: 9968.636957813429 and avgSpeedBytesPerSecond: 8718.247684781572 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 46, currentSpeedBytesPerSecond: 2814327.7281477116 and avgSpeedBytesPerSecond: 8917.597450206898 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 47, currentSpeedBytesPerSecond: 5850.678396493182 and avgSpeedBytesPerSecond: 8819.225043698954 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 48, currentSpeedBytesPerSecond: 5395.228881110033 and avgSpeedBytesPerSecond: 8700.642521392849 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 49, currentSpeedBytesPerSecond: 6025.35102842412 and avgSpeedBytesPerSecond: 8620.174602517458 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 50, currentSpeedBytesPerSecond: 9998.54957732185 and avgSpeedBytesPerSecond: 8643.979749842189 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 51, currentSpeedBytesPerSecond: 4589283.300448431 and avgSpeedBytesPerSecond: 8796.345735433493 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 52, currentSpeedBytesPerSecond: 5528.40360130327 and avgSpeedBytesPerSecond: 8697.36663906742 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 53, currentSpeedBytesPerSecond: 9489.099038622016 and avgSpeedBytesPerSecond: 8711.518604098594 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 54, currentSpeedBytesPerSecond: 6004.465907657466 and avgSpeedBytesPerSecond: 8637.150325630737 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 55, currentSpeedBytesPerSecond: 10006.104452476615 and avgSpeedBytesPerSecond: 8658.68682243871 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 56, currentSpeedBytesPerSecond: 4615896.412371134 and avgSpeedBytesPerSecond: 8820.736444967575 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 57, currentSpeedBytesPerSecond: 3452.135514523833 and avgSpeedBytesPerSecond: 8586.61329157883 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 58, currentSpeedBytesPerSecond: 5362848.083842794 and avgSpeedBytesPerSecond: 8719.488857073069 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 59, currentSpeedBytesPerSecond: 5440.618036155242 and avgSpeedBytesPerSecond: 8628.509446882188 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 60, currentSpeedBytesPerSecond: 9160.000638293805 and avgSpeedBytesPerSecond: 8636.868468280152 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 61, currentSpeedBytesPerSecond: 3618116.783838384 and avgSpeedBytesPerSecond: 8785.09522884157 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 62, currentSpeedBytesPerSecond: 3564.3027305854202 and avgSpeedBytesPerSecond: 8582.284228587667 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 63, currentSpeedBytesPerSecond: 5712815.974481659 and avgSpeedBytesPerSecond: 8724.875653929847 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 64, currentSpeedBytesPerSecond: 5997.317928443612 and avgSpeedBytesPerSecond: 8661.438578630232 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 65, currentSpeedBytesPerSecond: 8485.172957461546 and avgSpeedBytesPerSecond: 8658.673303261876 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 66, currentSpeedBytesPerSecond: 2013596.017707821 and avgSpeedBytesPerSecond: 8775.84299658974 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 67, currentSpeedBytesPerSecond: 3688.4750804524456 and avgSpeedBytesPerSecond: 8598.646201989388 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 68, currentSpeedBytesPerSecond: 4483023.299123905 and avgSpeedBytesPerSecond: 8730.894614967952 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 69, currentSpeedBytesPerSecond: 5660.9711395121785 and avgSpeedBytesPerSecond: 8660.682383470808 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 70, currentSpeedBytesPerSecond: 9302.32555747519 and avgSpeedBytesPerSecond: 8669.225754677012 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 71, currentSpeedBytesPerSecond: 3012561.4936921783 and avgSpeedBytesPerSecond: 8796.600926586865 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 72, currentSpeedBytesPerSecond: 3250.2839526479634 and avgSpeedBytesPerSecond: 8593.013612464938 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 73, currentSpeedBytesPerSecond: 5460614.545131169 and avgSpeedBytesPerSecond: 8698.320245417362 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 74, currentSpeedBytesPerSecond: 5395.996941912149 and avgSpeedBytesPerSecond: 8624.692437808548 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 75, currentSpeedBytesPerSecond: 8559.023533789928 and avgSpeedBytesPerSecond: 8623.809513947679 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 76, currentSpeedBytesPerSecond: 4155377.744779582 and avgSpeedBytesPerSecond: 8742.25011191711 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 77, currentSpeedBytesPerSecond: 3456.740732777927 and avgSpeedBytesPerSecond: 8571.966330249754 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 78, currentSpeedBytesPerSecond: 4106546.9945543134 and avgSpeedBytesPerSecond: 8686.58652520553 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 79, currentSpeedBytesPerSecond: 4840.997056989394 and avgSpeedBytesPerSecond: 8609.937558317795 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 80, currentSpeedBytesPerSecond: 6979.478304209331 and avgSpeedBytesPerSecond: 8584.83340316104 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 81, currentSpeedBytesPerSecond: 4249033.945432978 and avgSpeedBytesPerSecond: 8695.44393547706 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 82, currentSpeedBytesPerSecond: 3250.6475065795526 and avgSpeedBytesPerSecond: 8521.209364584878 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 83, currentSpeedBytesPerSecond: 4028041.1762721394 and avgSpeedBytesPerSecond: 8628.267288375064 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 84, currentSpeedBytesPerSecond: 5971.086910715477 and avgSpeedBytesPerSecond: 8581.367346590654 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 85, currentSpeedBytesPerSecond: 7936.051772303326 and avgSpeedBytesPerSecond: 8573.164046385595 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 86, currentSpeedBytesPerSecond: 6010.740685240111 and avgSpeedBytesPerSecond: 8529.560916402712 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 87, currentSpeedBytesPerSecond: 9162.33269245863 and avgSpeedBytesPerSecond: 8536.336286469965 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 88, currentSpeedBytesPerSecond: 2910860.894050723 and avgSpeedBytesPerSecond: 8622.81003949723 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 89, currentSpeedBytesPerSecond: 5664.612560895284 and avgSpeedBytesPerSecond: 8570.8972324252 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 90, currentSpeedBytesPerSecond: 9259.572565631384 and avgSpeedBytesPerSecond: 8577.99164615872 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 91, currentSpeedBytesPerSecond: 5714.839410445165 and avgSpeedBytesPerSecond: 8529.535602461894 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 92, currentSpeedBytesPerSecond: 9184.388692747712 and avgSpeedBytesPerSecond: 8536.154138399437 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 93, currentSpeedBytesPerSecond: 2660182.410694393 and avgSpeedBytesPerSecond: 8631.584018461393 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 94, currentSpeedBytesPerSecond: 4866.958178213992 and avgSpeedBytesPerSecond: 8569.162237165909 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 95, currentSpeedBytesPerSecond: 9270.91839223064 and avgSpeedBytesPerSecond: 8576.0044951908 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 96, currentSpeedBytesPerSecond: 6017.177681278716 and avgSpeedBytesPerSecond: 8536.962311910136 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 97, currentSpeedBytesPerSecond: 8430.229713852936 and avgSpeedBytesPerSecond: 8535.847107337428 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 98, currentSpeedBytesPerSecond: 3626358.5077195647 and avgSpeedBytesPerSecond: 8626.480880583333 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 99, currentSpeedBytesPerSecond: 5525.19327011153 and avgSpeedBytesPerSecond: 8577.816442654697 \
    @@@#@@ dfuProgressDidChange for Part:2, out of : 2 to Progress: 100, currentSpeedBytesPerSecond: 7723.631093934517 and avgSpeedBytesPerSecond: 8569.195990058688 \
    @@@#@@ DFU State Changed : Disconnecting\
    @@@#@@ DFU State Changed : Completed}

Related