mirror of
https://github.com/espressif/esp-nimble.git
synced 2026-10-02 13:27:21 +00:00
mesh: Fix Node Identity advertising with PB-ADV
The Node Identity advertising should only be automatically enabled when provisioning happened over PB-GATT, but not when it happened over PB-ADV. Move the enabling of Node Identity to the provisioning code, where we know the bearer that was used (this information does not get passed to the bt_mesh_provision function).
This commit is contained in:
@@ -476,8 +476,7 @@ int bt_mesh_net_create(u16_t idx, u8_t flags, const u8_t key[16],
|
|||||||
sub->net_idx = idx;
|
sub->net_idx = idx;
|
||||||
|
|
||||||
if ((MYNEWT_VAL(BLE_MESH_GATT_PROXY))) {
|
if ((MYNEWT_VAL(BLE_MESH_GATT_PROXY))) {
|
||||||
sub->node_id = BT_MESH_NODE_IDENTITY_RUNNING;
|
sub->node_id = BT_MESH_NODE_IDENTITY_STOPPED;
|
||||||
sub->node_id_start = k_uptime_get_32();
|
|
||||||
} else {
|
} else {
|
||||||
sub->node_id = BT_MESH_NODE_IDENTITY_NOT_SUPPORTED;
|
sub->node_id = BT_MESH_NODE_IDENTITY_NOT_SUPPORTED;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1073,6 +1073,13 @@ static void prov_data(const u8_t *data)
|
|||||||
|
|
||||||
bt_mesh_provision(pdu, net_idx, flags, iv_index, 0, addr, dev_key);
|
bt_mesh_provision(pdu, net_idx, flags, iv_index, 0, addr, dev_key);
|
||||||
|
|
||||||
|
#if MYNEWT_VAL(BLE_MESH_PB_GATT) && MYNEWT_VAL(BLE_MESH_GATT_PROXY)
|
||||||
|
/* After PB-GATT provisioning we should start advertising
|
||||||
|
* using Node Identity.
|
||||||
|
*/
|
||||||
|
bt_mesh_proxy_identity_enable();
|
||||||
|
#endif
|
||||||
|
|
||||||
done:
|
done:
|
||||||
os_mbuf_free_chain(msg);
|
os_mbuf_free_chain(msg);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user