nRF Mesh App Cannot Interact with Devices after IV Index Update

We are finding an issue where after a network is running for a while we are unable to interact with devices beyond connecting to them via the nRF Mesh App. Specifically, we are trying to deprovision the devices. This is true across multiple devices - iOS and Android running the latest App/Play Store versions. The devices are one nrf5240 and multiple nrf52840 on the network.

The steps to get to where we are right now:

- Setup the network and save the json

- Wait a while (letting devices operate, come back later to change configuration)

- Import the json from that network

- Try to connect to the devices to deprovision

    - Able to see all devices

    - Unable to interact with them

Using the nrf Mesh Sniffer I am able to see that the IV Index of the network has been incremented to 1 in this time. I don't have any logs to prove this is the issue (please let me know what can be collected to help) but I am unsure what the other culprits could be for this issue that seems to be time based only.

I found this issue on Github from the library that seems to be what we are facing: https://github.com/NordicSemiconductor/Android-nRF-Mesh-Library/issues/537

However that issue is resolved and the fix seems to have been rolled out into the apps. So unless there is a regression I am unsure why we are seeing the same issue today on the latest versions.

Any direction on how to confirm this is the issue and resolve this would be appreciated.

Thanks

  • Hi

    There are some more details we need to be able to start helping you here.

    1. Is it a phone acting as the provisioner when you set up the network or some other device?

    2. When you say you "wait a while". How long is the network going before you come back and change the configuration exactly?

    3. Do you use the same provisioner/app for importing the JSON from the network as you used initially, or are you using some other device for this?

    4. When trying to connect to devices to unprovision them, what do you mean by seeing them and not being able to interact with them? Are all of these proxy nodes presented in a GATT scan, or are you using another device for unprovisioning than you used for the initial provisioning? Do you get an error code of some kind since you're "unable to interact with the devices?

    Best regards,

    Simon

  • Hi Simon,

    Sorry I should have incldued these details originally:

    1. Yes provisioned from a phone using the nrf mesh app

    2. The shortest period of time we have seen this is ~1 week

    3. Currently it is only on different devices (we have tried multiple). I want to try with the original provisioner device, unfortunately it is with a a coworker who has been out sick. I will update as soon as we are able to try that, hopefully in the next few days.

    4. We are able to see the device and connect, but we cannot operate any models, deprovision devices, etc. These operations all time out.

    Thank you

  • Hey Jonathan

    Thank you for the additional details. I'm sorry for the late reply here. Can you also share the details on how your phone (provisioner) gets the IV index update events in that week of the devices running? If the phone just "leaves" the network it might never get any IV index updates, and thus it is "out of the loop" after coming back for a week.

    Best regards,

    Simon

  • Hi Simon,

    My understanding is that the phone should get the current IV index from the SMB messages upon returning, is this not correct?

    I found this presentation from Nordic that says "A node, inactive for more than 96 hours, needs to be able to scan for at least 5 seconds for Secure Network Beacon to recover IV Index". I was expecting the phone/app would do this.   I did try enabling IV test mode, that made no difference.

    Also our co-worker who originally setup the next work, now ~2 weeks ago, returned to the office today and has the same results with the original provisioner device as we had on other devices.

    Our use case requires the networks to be able to be operated in the field later by a phone or other mobile device to add/remove/replace devices (gaps between uses could perhaps be measured in decades if the system is working very reliably). We are working on our own app using the Nordic SDKs for customer use but internally using the nrf Mesh app in the meantime.

  • Hi

    I talked to our nRF Mesh developer today, and they agree with you that you should get the IV index when returning. If you have a Mac OS device, you can use an app called Console (native on Mac), and select the connected iPhone, enable Debug and Info messages in the menu, and set a filter for 'subsystem = com.nordicsemi.nRFProvision' 

    That should give you some useful debug info. If you're not able to get anywhere from that, please upload that here and we can review the debug info on our end.

    Best regards,

    Simon

Related