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

Mesh does not work on nRF52840 Dongle

Hi there!

I have run light switch example for Mesh demo but no activity could be found via nRF Mesh app even my dongles have never been provsioned.The version of SDK and SDK for Mesh is 17.0.2 and V5.0.0 respectively,   PCA10056 is changed PCA10059 before building the solution. I have followed those posts in the community but still not able to make it works. Do I miss something? Any assistance/suggestion are welcome!!!

Cheers!

Parents
  • Hi, 
    How did you program the PCA10059 dongle ? 
    If you program it via the NRF Connect Programmer (which use DFU to update the dongle, not directly via SWD interface) then the board only have the MBR and the application. YOu would need to program the softdevice and then program the application. 

    Note that the dongle is not the best tool for testing mesh. The reason is that when it's provisioned it's not possible to erase bond information unless you write code on the dongle to do that. The reason is that the DFU update wouldn't clear the application data, hence the provisioning data will remains even after  you update it to new firmware. 

    If you want to test mesh on the dongle, I would suggest to solder the header P1 on the dongle to flash it directly via SWD interface from a programmer. Make sure you do an erase all to delete the bootloader on the dongle. 

  • Hi Hung!

    Yes, I have also uploaded softdevice 140 via nRF Connect programmer. After the process, I could see LED1 and 2 are ON but nothing could be found on nRF Mesh app. Since this is the first time I run this example, my dongle should not be provisioned that's why I am confused.

  • Please make sure your firmware supports PB-GATT to provision from mobile app. 


    There could be a chance that the code assert somewhere. But without any logging or capability to debug it's really hard to tell what went wrong. Any leftover application data can cause a crash because the flash is not clean.
    I would strongly suggest to solder the P1 header and use a debugger on it. 

  • Hi Hung!

    I am using the server firmware from light switch example. This firmware is fine when I use PCA10056 but PCA10059.

    When I use dongle, I follow the procedure from this post https://devzone.nordicsemi.com/nordic/short-range-guides/b/getting-started/posts/nrf52840-dongle-programming-tutorial

    Before diving into P1 header and debugger, I would like to make sure I have done enough, or do I miss some key steps?

  • No I don't think so. It should work. But I mentioned, it depends on what you have on the dongle previously it might not work due to dirty application data flash area. 
    You don't need to solder the header on all of your dongle. You just need to develop a working example on one dongle with the header and then you can use the normal way to program all other dongles. 

  • Hi Hung,

    May I know when do LED_1,LED_2 and LED_4 keep at ON  state after programming(using nRF connnect programmer) the dongle with light switch example?

    I got 2 dongles now, one of them works fine on both server and client (I can find it on nrf MESH app) but there is nothing on another dongle and LED 1,LED_2 and LED_4 are at ON state all the time.

    I have followed this post, devzone.nordicsemi.com/.../nrf52840-dongle-erase-provisioning-data, to erase those provision data by adding "mesh_stack_config_clear()" and  "node_reset()" to main function. The one which can be found on nrf MESH app before works fine again, its LEDs are flashing during reset process. Yet, another one shows nothing but LED_1,LED_2 and LED_4 keep at ON  state after the reset program is uploaded to the dongle.

    Both dongles work fine with BLE central and peripheral examples but only one of them works fine with Mesh example.

    I think the hardware of the "abnormal " one should be fine as it can have expected responses in BLE central and peripheral examples. All programs used above are the same among these 2 dongles. Therefore, could you give me some suggestions on the "abnormal" dongle in order to make it work on Mesh examples as well?

    cheers~

  • Hi Archie, 

    It's hard to tell what can be the issue here. You may want to start debugging by: 

    - Update simple application of blinking an LED, just to be sure the Bootloader can program the board properly. 

    - Update the Mesh application with added blinking LED in an infinite loop to be as the anchor point. First put the infinite loop of blinking at the beginning of main(). Then when you see the LED blink, you can move it down in the code, to the point you don't see the blinking any more. 

    I still suspect the previous flash data caused the flash library to confuse and crashed. 

    Again, the dongle is not made to be a development kit. It's made as the hardware back end for nRF Connect app. It would save you a lot of time if you can solder the header on P1 and can debug easily. 

Reply
  • Hi Archie, 

    It's hard to tell what can be the issue here. You may want to start debugging by: 

    - Update simple application of blinking an LED, just to be sure the Bootloader can program the board properly. 

    - Update the Mesh application with added blinking LED in an infinite loop to be as the anchor point. First put the infinite loop of blinking at the beginning of main(). Then when you see the LED blink, you can move it down in the code, to the point you don't see the blinking any more. 

    I still suspect the previous flash data caused the flash library to confuse and crashed. 

    Again, the dongle is not made to be a development kit. It's made as the hardware back end for nRF Connect app. It would save you a lot of time if you can solder the header on P1 and can debug easily. 

Children
No Data
Related