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

nRF Connect DFU Update not Proceeding on Pre-connected Device (iOS app)

Hey all,

I was curious to see if anyone else is seeing the same problems I have with DFU.

I'm currently running SDK 15.2 and version 1.8.8 of nRF Connect on iOS. When I connect to a device first then attempt a DFU it will always lock up. I typically have to disconnect, and then reinitiate the DFU (from the disconnected device screen) for it to complete. 

I filed a bug here: https://github.com/NordicSemiconductor/IOS-nRF-Connect/issues/59

I've seen this now on a couple of projects I've worked on.

Cheers

Jared

  • Hi Jared, 

    Please clarify, do you use buttonless example ? Or the test was only with the bootloader ? 

    Do you have any problem with nRFToolbox ? 
    When the device is "locked up" what exactly happened ? Did you see it advertise (and the phone didn't connect to it) or it reset  ? or it's just the phone did nothing , when the connection is kept ? 

  • Hey Hung!

    Please clarify, do you use buttonless example ? Or the test was only with the bootloader ? 

    Yup this is with buttonless DFU. When the device is in DFU mode itself it doesn't have this problem. I do have a workaround I've been using for a while now. Works every time:

    1. Connect to your device as normal.
    2. In the connection screen, disconnect
    3. Even while disconnected you can still press the blue DFU button. Click it.
    4. Select your image
    5. If you device is not advertising, start advertising again.
    6. Finally hit the blue play button. The app will attempt to connect and then update.

    Seems like it happens only when the device is already connected. If it's not connected, nrfToolbox with attempt to start a fresh connection. Then it will immediately start DFU with no problem. (for buttonless) If your device is already in DFU mode I believe it works either way.

    Do you have any problem with nRFToolbox ? 

    I tried the NRF Toolbox. Looks ok. Seems like it doesn't establish a connection first like nRF Connect. (For NRF Toolbox, you have to establish a connection to get to the DFU capability whereas in NRF Toolbox you don't)

    When the device is "locked up" what exactly happened ? Did you see it advertise (and the phone didn't connect to it) or it reset  ? or it's just the phone did nothing , when the connection is kept ? 

    Yea don't you like my description. Could be anything. :-p 

    I hooked up logs and I noticed that on a successful connection, it will negotiate the MTU. Then the logs will indicate that the flag is being set for DFU and it's restarting. In the case where it "locks up" I don't see the DFU related messages.

  • I would suggest to stick to nRFToolbox. 

    We have issues with nRFConnect doing DFU. Mainly when the app confused when the device switching between the application and bootloader address. 

    If you can capture a sniffer trace when you do DFU it can provide us a better picture of what would be wrong, or a video screen capture would also be useful. 

  • I'm actually testing the beta version of nRF Connect. It's been great and this problem no longer exists. It's been awesome for some of the recent projects I've been working on. Slight smile

    Until the new version comes out though, I agree best to stick with nRFTollbox.

    Thanks again

Related