This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

iOS nRF Toolbox crashes when opening files

Hi,

The nRF Toolbox app on iOS crashes when opening user added files in the DFU. These files are added to the app via iTunes. The version of the nRF Toolbox is 1.7 which was updated on the 3rd of April, and the iOS version is 8.2. The devices I used to test this app were an iPad Air and an iPhone 6.

On the other hand, the nRF Toolbox app on Android works perfectly fine. It has no problem updating the firmware via DFU.

I look forward to a solution. Thank you so much.

Cheers, Rocky

  • I have the same problem. It looks like it is failing to parse the manifest.json file. If any section under "manifest" has been assigned null (like "bootloader") then there will be a failure parsing the file. To work around it, I removed all unused sections and it works fine.

    I also tried dfu_test_app_hrm.zip, which comes with the SDK, and it also fails. I assume the problem needs to be fixed in the iOS Toolbox.

  • Hi

    The IOS toolbox was updated on April 17th to version 1.8. The update included some bugfixes. If it still does not work with nRF Toolbox 1.8, report what IOS version you have.

    Update 29.4.2015 I have tested this with IOS 8.1.1 and nRF Toolbox 1.8 and uploaded the standard hrs_s110_8_0_sdk_8_0.zip to unmodified SDK 8.0.0 bootloader and that works fine at least.

  • I am using that version (and the Github source code to confirm). I am on iOS 8.3. The zip file that is included in the Toolbox is fine, with a manifest.json that does not contain any bootloader or soft device section.

    If using a zip file from the SDK (I'm using the Keil pack installer) dfu\ble_dfu_send_hex\test_images_update\dfu_test_app_hrm.zip the Toolbox will fail because the manifest.json has a null bootloader and softdevice property

  • Example json from zip file included in the Toolbox:

    {
    "manifest": {
        "application": {
            "bin_file": "application.bin",
            "dat_file": "application.dat",
            "init_packet_data": {
                "application_version": 4294967295,
                "device_revision": 65535,
                "device_type": 65535,
                "firmware_crc16": 32907,
                "softdevice_req": [
                    90,
                    100
                ]
            }
        }
    }
    

    }

    Example from the SDK:

    {
    "manifest": {
        "application": {
            "bin_file": "dfu_test_app_hrm.bin",
            "dat_file": "dfu_test_app_hrm.dat",
            "init_packet_data": {
                "application_version": 4294967295,
                "compression_type": null,
                "device_revision": 65535,
                "device_type": 65535,
                "firmware_crc16": 19263,
                "firmware_hash": null,
                "packet_version": null,
                "softdevice_req": [
                    65534
                ]
            }
        },
        "bootloader": null,
        "softdevice": null,
        "softdevice_bootloader": null
    }
    

    }

    What format should be considered correct?

  • Thank you for your feedback. I tested this on my side and acknowledge the problem, the nRFToolbox crashes when trying to select a zip file from the SDK for download. I have notified the developer of IOS nRFToolbox. I have tested this with Android nRF Toolbox and that works fine.

Related