BLE Mesh provisioner switch static OOB

piiiil
Posts: 2
Joined: Wed Sep 18, 2019 9:41 am

BLE Mesh provisioner switch static OOB

Postby piiiil » Wed Sep 18, 2019 9:46 am

Hi,

i have a setup where i have an ESP32 acting as a BLE mesh provisioner for a number of nodes. All nodes use static OOB as authentication, but each have their own OOB data.

I have tried simply using the provisioner example, and then overwriting the static oob data when in "recv_unprov_adv_pkt" using memcpy, but using this scheme the connection always fails.

It seems that when i call "esp_ble_mesh_init" with the provisioning data, the oob is copied, and can no longer be changed. Is that correct?

piiiil
Posts: 2
Joined: Wed Sep 18, 2019 9:41 am

Re: BLE Mesh provisioner switch static OOB

Postby piiiil » Thu Sep 19, 2019 11:47 am

I know realize that is a question of timing, as i have gotten it to work with a single device.
If device A requests provisioning and i the overwrite the OOB data, and then device B requests provisioning and i again overwrite the OOB data, and then i finally start provisioning device A, I'm of course going to have the wrong OOB data.

My question then becomes: is there a way to to notified (in the prov callback) whenever provisioning of a device starts?
I know of the PROV_LINK_OPEN event, but in that case i don't have the UUID of the device.

Wangcheng
Posts: 64
Joined: Wed Mar 06, 2019 3:26 am

Re: BLE Mesh provisioner switch static OOB

Postby Wangcheng » Mon Nov 25, 2019 1:11 pm

piiiil wrote:
Thu Sep 19, 2019 11:47 am
I know realize that is a question of timing, as i have gotten it to work with a single device.
If device A requests provisioning and i the overwrite the OOB data, and then device B requests provisioning and i again overwrite the OOB data, and then i finally start provisioning device A, I'm of course going to have the wrong OOB data.

My question then becomes: is there a way to to notified (in the prov callback) whenever provisioning of a device starts?
I know of the PROV_LINK_OPEN event, but in that case i don't have the UUID of the device.
Hi,
This event don't has device uuid,You can cache uuid before starting the distribution network, at ESP_BLE_MESH_PROVISIONER_RECV_UNPROV_ADK_PKT_EVT.

Who is online

Users browsing this forum: martinayotte and 39 guests