A device that is provisioned with PB-GATT enabled stops receiving mesh packets after the provision is complete.
When the provisioning process is complete nrf_mesh_disable() is called. Later when the SD has been restarted nrf_mesh_enable() is called.
nrf_mesh_disable() will call scanner_disable() but nrf_mesh_enable() never calls scanner_enable().
This patch solves the problem.
diff --git a/mesh/core/src/nrf_mesh.c b/mesh/core/src/nrf_mesh.c
index 311225f..0c409cb 100644
--- a/mesh/core/src/nrf_mesh.c
+++ b/mesh/core/src/nrf_mesh.c
@@ -409,9 +409,13 @@ uint32_t nrf_mesh_enable(void)
}
#endif
bearer_event_start();
- /* fallthrough */
+ status = bearer_handler_start();
+ break;
case MESH_STATE_DISABLED:
case MESH_STATE_DISABLING:
+#if !MESH_FEATURE_LPN_ENABLED
+ scanner_enable();
+#endif
status = bearer_handler_start();
break;
default:
This is a bug was introduced with the previous workaround for the 10 second delay during provision. https://devzone.nordicsemi.com/f/nordic-q-a/43992/10-second-delay-after-pb-gatt-completed-until-first-mesh-proxy-service-advertisement