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

Interactive PyACI won't find my unprovisioned device

Hello, 

I'm trying to use the Interactive PyACI script as a provisioner for my custom nrf Mesh projetct, but it won't find my unprovisioned device.

Using another dev board with the Light Switch example, the PyACI receives a successful UnprovDevice when scanning and is able to provision it.

My device is composed of a Generic Level Client and I am able to provision it using the nrf mesh Android app normally. 

Could you help me find why is it not showing on the PyACI?

Thanks.

  • Hi Renato, 

    It's hard to tell what could be wrong. 
    But if you try your same firmware (with Generic Level Client) on the other dev board, can you find it with PyACI ? 

    Another thing you can try is to turn off MESH_FEATURE_PB_GATT_ENABLED in nrf_mesh_config_app.h this will disable PBGATT provisioning via GATT and only allow PB ADV provisioning. Then you can use the NRFConnect app on the phone to try scanning if you can catch the advertising packet with Beacon type 0x00 Like what shown here:: 

  • Hi Hung, thanks for the fast reply.

    I liked your idea of flashing my firmware on a dev board, but considering that my device has a lot of peripherals configurations, it would be time consuming removing those routines just to test the Mesh part. So what I did was the opposite: flashed my device with a nRF5x Mesh LPN Switch example (which my code is based of), and it still doesn't show only on the PyACI terminal, but I can see it using both the nRF Mesh and nRFConnect phone apps.

    I followed your advice of using the NRFConnect app to sniff BLE packets and noticed that the only difference between packets from the dev board with the nRF5x Mesh Light example and my device is the adv interval:

    Maybe the PyACI doesn't recognize the first one because of the large time interval?

  • You could have mentioned about "Mesh LPN"  in your question. The Mesh LPN firmware by default doesn't support PBADV provisioning. You can find that in the documentation here at Provisioning and configuration section. 

    To enable PBADV you need to set MESH_FEATURE_PB_ADV_ENABLED to 1 in nrf_mesh_config_app.h . I haven't tried myself if it works though. 

  • Sorry for not mentioning the LPN part. Enabling MESH_FEATURE_PB_ADV_ENABLED seems to solve the problem, now I'm able to use PyACI successfully.

    Thank you very much!

Related