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

Can't finish Provisioning process with Mesh Light Sample.

Hi,
I'm testing ble mesh using the "Mesh Light" sample with my developer board using Zephyr.

My components are:
- My device: Makerdiary.com nRF52840-MDK development board
- Nordic Mesh app v2.2.3 running on iPhone 7 (iOs 13.5.1)
- Zephyr v1.4.0

When I'm trying to provision the device the process doesn't finish.

My steps are:
1- Build (west build -b nrf52840_mdk) and flash (west flash) the sample code.
2- Connect Putty for logging.
3- The Nordic Mesh app detects successfully the board (with the name "Mesh Light", so that's ok)
4- When I tap the device in the Nordic Mesh app, it connects on, the board's leds start blinking and the message "Ignoring data for unknown CID 0x003a" is printed in the log.
5- The leds stops blinking after a few seconds.
6- I tap "provision" in the Nordic Mesh app to start the provision process.
7- I select "input OOB" and then select "push".
8- The app shows a message saying "Perform Push x times on your device".
9- I push the button x times in my board, one led turn on with one push, other with the second push, and so on.
10- The leds eventually turns off, but nothing happens.
11- The Nordic Mesh app stays with the message "Perform Push x times on your device". After several minutes the only thing I can do is press cancel.


This is the output log:

*** Booting Zephyr OS build v2.4.0-ncs1 ***
Initializing...
I: No ID address. App must call settings_load()
Bluetooth initialized
Mesh initialized
W: Ignoring data for unknown CID 0x003a


Best regards

José Forno

Parents
  • Hi, 

    I was finally able to connect to my device and finish the provisioning process. I used the OOB method instead of push method (I missed that part of the documentation instructions, so it's my mistake).

    I still have two questions

    - Why the warning message "Ignoring data for unknown CID 0x003a" appears in the log?

    - What kind of OOB method is used? Is it Statc OOB?. I ask because I didn't find something related to the OOB in the code (maybe I'm wrong)

    Best regards

    José Forno

  • Hi.

    I haven't seen the error message;  "Ignoring data for unknown CID 0x003a" before.

    Have you made any changes to the example? I can't find any reference to any 0x003a company identifier in the stock example. And I don't get the same error myself.

    ____________

    Yes, I belive that you are using static OOB. I can double check that to be sure.

    BR,
    Joakim

  • Hi Joakim, 

    Thanks for answer.

    - No, I didn't make any modifications to the code.

    - With respect to the warning message "Ignoring data for unknown CID 0x003a": Maybe something happens inside the mesh library when it loads persistent data thru the "settings_load()" function. Before testing with this sample code I tried with other examples and samples codes. One was an example from a "developer study guide" from Bluetooth SIG, and the others were from the Zephyr's samples. None of the previous codes gave me good results. Maybe all this codes stores persistent data into the nrf52 and is loaded somehow now, giving me this warning message. My board use pyOCD programer. I tried to erase the whole chip but I'm not sure if it really doing it.

    The command used to erase the chip was: "pyocd erase -v -t nrf52840 --mass"

    Best regards

    José Forno

  • I don't have any experience using pyOCD, but there might be some "garbage" left on the chip if you aren't able to perform a complete erase. 

    Are you working with a custom board, or the nRF52840-DK?

    Maybe you could try erasing the board using nrfjprog or the nRF Connect programmer app?

    Br, 
    Joakim

  • Hi Joakim,

    I'm using "Makerdiary.com nRF52840-MDK" development board. It's supported by Zephyr.

    This board uses pyOCD, and is not compatible with nrfjprog or the nrF Connect programmer (It uses DAPLink programmer/debugger)

    Maybe a function that "forget" the mesh network would be helpful but I don't know if it's implemented. Also trying to erase the setting would be another way to test, using "settings_delete()" function, but it requires the "Name/key" of the settings item as an input parameter, which I don't have.

    Best regards

    José Forno

Reply
  • Hi Joakim,

    I'm using "Makerdiary.com nRF52840-MDK" development board. It's supported by Zephyr.

    This board uses pyOCD, and is not compatible with nrfjprog or the nrF Connect programmer (It uses DAPLink programmer/debugger)

    Maybe a function that "forget" the mesh network would be helpful but I don't know if it's implemented. Also trying to erase the setting would be another way to test, using "settings_delete()" function, but it requires the "Name/key" of the settings item as an input parameter, which I don't have.

    Best regards

    José Forno

Children
Related