esp-idf: Ble_Mesh v1.1 - Unable to achieve Remote Provisioning (IDFGH-11398)

Answers checklist.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.

v5.2-dev-3775-gb4268c874a-dirty

Espressif SoC revision.

ESP32 Chip Revision v3.0

Operating System used.

Windows

How did you build your project?

VS Code IDE

If you are using Windows, please specify command line type.

None

Development Kit.

Adafruit HUZZAH32 – ESP32 Feather Board (3405)

Power Supply used.

USB

What is the expected behavior?

I am flashing 3 ESP32 with examples projets from master branch:

  • rpr_client,
  • rpr_server,
  • unprov_dev

I expect the Remote Provisoning process to correctly end with the unprovisioned node device being remotely provisioned by rpr_server and corresponding information being reported from rpr_server to rpr_client.

What is the actual behavior?

So far is correctly achieved:

  • common provisioning (+ model binding) of the rpr_server by the rpr_client,
  • button pressed on rpr_client => msg RPR_SCAN_GET is sent from rpr_client to rpr_server,
  • rpr_server replies with a SCAN_STATUS msg,
  • rpr_client sends then a SCAN_START msg,
  • rpr_server replies with SCAN_STATUS, and a SCAN_REPORT msgs,
  • rpr_client sends then a LINK_GET msg,
  • rpr_server replies with a LINK_STATUS msg,
  • rpr_client sends then a LINK_OPEN msg,
  • rpr_server replies with a LINK_STATUS msg

From there, the rpr_server is expected to send a ESP_BLE_MESH_MODEL_OP_RPR_LINK_REPORT to rpr_client. and then rpr_client should report this message, then send to rpr_server the remote provisioning start process message. but this never happens.

logs from unprov_dev indicated that the provisioning link is open, then process is timed-out.

Steps to reproduce.

Executing the flow decribed in examples readme files.

Debug Logs.

LOGS from rpr_client
I (720) phy_init: phy_version 4780,16b31a7,Sep 22 2023,20:42:16
I (1110) dev_uuid: 00 00 94 b9 7e 6b 13 b2 00 00 00 00 00 00 00 00 
Bluetooth Mesh v1.1 commit: [1469712f9f]
I (1120) BLE_MESH: Relay not supported
I (1120) BLE_MESH: GATT Proxy not supported
I (1120) BLE_MESH: Friend not supported
I (1210) EXAMPLE: ESP_BLE_MESH_PROVISIONER_SET_DEV_UUID_MATCH_COMP_EVT, err_code 0
I (1210) BLE_MESH: NetKeyIndex 0x000, NID 0x39
I (1210) BLE_MESH: NetKey 1e28355412171b14432b6c9cfa4836c6
I (1220) BLE_MESH: Primary address 0x0001, element count 1
I (1230) EXAMPLE: BLE Mesh Provisioner initialized
I (1240) EXAMPLE: ESP_BLE_MESH_PROVISIONER_PROV_ENABLE_COMP_EVT, err_code 0
I (1240) EXAMPLE: ESP_BLE_MESH_PROVISIONER_ADD_LOCAL_APP_KEY_COMP_EVT, err_code 0
I (1240) EXAMPLE: ESP_BLE_MESH_PROVISIONER_BIND_APP_KEY_TO_MODEL_COMP_EVT, err_code 0
I (1250) EXAMPLE: ESP_BLE_MESH_PROVISIONER_RECV_UNPROV_ADV_PKT_EVT
I (1260) EXAMPLE: address: c4dd579d10ca, address type: 0, adv type: 0
I (1270) EXAMPLE: device uuid: 55aac4dd579d10ca0000000000000000
I (1270) EXAMPLE: oob info: 0, bearer: PB-GATT
I (1290) EXAMPLE: ESP_BLE_MESH_PROVISIONER_ADD_UNPROV_DEV_COMP_EVT, err_code 0
I (2530) EXAMPLE: PB-GATT link open
I (2590) BLE_MESH: Elements:          0x03
I (2590) BLE_MESH: Algorithms:        0x0003
I (2590) BLE_MESH: Public Key Type:   0x00
I (2590) BLE_MESH: OOB Type:   0x00
I (2600) BLE_MESH: Output OOB Size:   0x00
I (2600) BLE_MESH: Output OOB Action: 0x0000
I (2610) BLE_MESH: Input OOB Size:    0x00
I (2610) BLE_MESH: Input OOB Action:  0x0000
I (3100) BLE_MESH: Unicast addr 0x0005, element num 3, NetKeyIndex 0x0000
I (3100) BLE_MESH: UUID 55aac4dd579d10ca0000000000000000
I (3100) BLE_MESH: DevKey 58a2e4c8bb85f5581818d65d7df00c75
W (3120) BT_HCI: hci cmd send: disconnect: hdl 0x0, rsn:0x13
W (3120) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x16
I (3120) EXAMPLE: node index: 0x0, unicast address: 0x05, element num: 3, netkey index: 0x00
W (3130) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x16
I (3140) EXAMPLE: device uuid: 55aac4dd579d10ca0000000000000000
I (3140) EXAMPLE: dev_key: 58a2e4c8bb85f5581818d65d7df00c75
I (3150) EXAMPLE: Provisioning node by common method
I (3150) EXAMPLE: That node will be act as remote provisioning server to help Provisioner to provisioning another node
I (3170) EXAMPLE: PB-GATT link close, reason 0x16
I (3170) BLE_MESH: Client message 0x00008008 with timeout 4000ms
I (3180) BLE_MESH: send, app_idx 0xfffe src 0x0001 dst 0x0005
I (3180) BLE_MESH: send, len 3: 800800
I (3190) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (3200) BLE_MESH: Use security credentials 0x00, proxy 0
I (3200) BLE_MESH: Network PDU, count 2, interval 20
I (3220) EXAMPLE: ESP_BLE_MESH_PROVISIONER_SET_NODE_NAME_COMP_EVT, err_code 0
I (3220) EXAMPLE: Node 0 name is: NODE-0
I (3230) main_task: Returned from app_main()
I (3290) BLE_MESH: Seg 0/3 received
I (3330) BLE_MESH: Seg 1/3 received
I (3360) BLE_MESH: Seg 2/3 received
I (4180) BLE_MESH: Received already received fragment
I (4190) BLE_MESH: Use security credentials 0x00, proxy 0
I (4200) BLE_MESH: Network PDU, count 2, interval 20
I (4240) BLE_MESH: Received already received fragment
I (4280) BLE_MESH: Seg 3/3 received
I (4280) BLE_MESH: Use security credentials 0x00, proxy 0
I (4280) BLE_MESH: Network PDU, count 2, interval 20
I (4290) BLE_MESH: recv, app_idx 0xfffe src 0x0005 dst 0x0001
I (4300) BLE_MESH: recv, len 34: 0200e502000000000a00030000000300040000000010000001000010000001000010
I (4310) EXAMPLE: example_ble_mesh_config_client_cb, error_code = 0x00, event = 0x00, addr: 0x0005, opcode: 0x8008
I (4320) EXAMPLE: composition data e502000000000a00030000000300040000000010000001000010000001000010
I (4330) EXAMPLE: ********************** Composition Data Start **********************
I (4330) EXAMPLE: * CID 0x02e5, PID 0x0000, VID 0x0000, CRPL 0x000a, Features 0x0003 *
I (4340) EXAMPLE: * Loc 0x0000, NumS 0x03, NumV 0x00 *
I (4350) EXAMPLE: * SIG Model ID 0x0004 *
I (4350) EXAMPLE: * SIG Model ID 0x0000 *
I (4360) EXAMPLE: * SIG Model ID 0x1000 *
I (4360) EXAMPLE: * Loc 0x0000, NumS 0x01, NumV 0x00 *
I (4370) EXAMPLE: * SIG Model ID 0x1000 *
I (4370) EXAMPLE: * Loc 0x0000, NumS 0x01, NumV 0x00 *
I (4380) EXAMPLE: * SIG Model ID 0x1000 *
I (4380) EXAMPLE: *********************** Composition Data End ***********************
I (4390) BLE_MESH: Original timeout 4000ms, calculated timeout 2960ms
I (4400) BLE_MESH: Client message 0x00000000 with timeout 4000ms
I (4410) BLE_MESH: send, app_idx 0xfffe src 0x0001 dst 0x0005
I (4410) BLE_MESH: send, len 20: 0000000012121212121212121212121212121212
I (4420) BLE_MESH: Seg, send_tag 0x01, send_szmic 0, aszmic 0
I (4430) BLE_MESH: Use security credentials 0x00, proxy 0
I (4430) BLE_MESH: Network PDU, count 0, interval 20
I (4450) BLE_MESH: Use security credentials 0x00, proxy 0
I (4450) BLE_MESH: Network PDU, count 0, interval 20
I (5060) BLE_MESH: Attempts: 3
I (5060) BLE_MESH: Resending 0/1, cred 0x00
I (5070) BLE_MESH: Resending 1/1, cred 0x00
I (5200) BLE_MESH: Seg 0/1 acked
I (5200) BLE_MESH: Attempts: 2
I (5200) BLE_MESH: Resending 1/1, cred 0x00
I (5300) BLE_MESH: Seg 1/1 acked
I (5380) BLE_MESH: recv, app_idx 0xfffe src 0x0005 dst 0x0001
I (5380) BLE_MESH: recv, len 6: 800300000000
I (5380) EXAMPLE: example_ble_mesh_config_client_cb, error_code = 0x00, event = 0x01, addr: 0x0005, opcode: 0x0000
I (5390) BLE_MESH: Client message 0x0000803d with timeout 4000ms
I (5400) BLE_MESH: send, app_idx 0xfffe src 0x0001 dst 0x0005
I (5410) BLE_MESH: send, len 8: 803d050000000010
I (5410) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (5420) BLE_MESH: Use security credentials 0x00, proxy 0
I (5430) BLE_MESH: Network PDU, count 2, interval 20
I (5580) BLE_MESH: recv, app_idx 0xfffe src 0x0005 dst 0x0001
I (5580) BLE_MESH: recv, len 9: 803e00050000000010
I (5590) EXAMPLE: example_ble_mesh_config_client_cb, error_code = 0x00, event = 0x01, addr: 0x0005, opcode: 0x803d
I (5600) EXAMPLE: The Remote Provisioning Server have been provisioned, You could click button to start remote provisioning
I (204120) BOARD: tap cb (RELEASE)
I (204120) BLE_MESH: Client message 0x00008051 with timeout 4000ms
I (204120) BLE_MESH: send, app_idx 0xfffe src 0x0001 dst 0x0005
I (204130) BLE_MESH: send, len 2: 8051
I (204130) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (204140) BLE_MESH: Use security credentials 0x00, proxy 0
I (204140) BLE_MESH: Network PDU, count 2, interval 20
W (204160) EXAMPLE: EVENT # 0
W (204160) EXAMPLE: Remote Prov Client Send Comp, err_code 0
I (204210) BLE_MESH: recv, app_idx 0xfffe src 0x0005 dst 0x0001
I (204210) BLE_MESH: recv, len 6: 805400000000
W (204210) EXAMPLE: EVENT # 2
W (204220) EXAMPLE: Remote Prov Client Recv RSP, opcode 0x8054, from 0x0005
I (204220) EXAMPLE: scan_status, status 0x00
I (204230) EXAMPLE: scan_status, rpr_scanning 0x00
I (204230) EXAMPLE: scan_status, scan_items_limit 0x00
I (204240) EXAMPLE: scan_status, timeout 0x00
I (204240) BLE_MESH: Client message 0x00008052 with timeout 4000ms
I (204250) BLE_MESH: send, app_idx 0xfffe src 0x0001 dst 0x0005
I (204260) BLE_MESH: send, len 4: 8052000a
I (204260) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (204270) BLE_MESH: Use security credentials 0x00, proxy 0
I (204280) BLE_MESH: Network PDU, count 2, interval 20
W (204290) EXAMPLE: EVENT # 0
W (204290) EXAMPLE: Remote Prov Client Send Comp, err_code 0
I (204340) BLE_MESH: recv, app_idx 0xfffe src 0x0005 dst 0x0001
I (204340) BLE_MESH: recv, len 6: 805400010a0a
W (204350) EXAMPLE: EVENT # 2
W (204350) EXAMPLE: Remote Prov Client Recv RSP, opcode 0x8054, from 0x0005
I (204360) EXAMPLE: scan_status, status 0x00
I (204360) EXAMPLE: scan_status, rpr_scanning 0x01
I (204370) EXAMPLE: scan_status, scan_items_limit 0x0a
I (204370) EXAMPLE: scan_status, timeout 0x0a
I (204380) EXAMPLE: Start Remote Provisioning Server(addr: 0x0005) Scan Success
I (206340) BLE_MESH: Seg 0/2 received
I (206380) BLE_MESH: Seg 1/2 received
I (206400) BLE_MESH: Seg 2/2 received
I (206400) BLE_MESH: Use security credentials 0x00, proxy 0
I (206400) BLE_MESH: Network PDU, count 2, interval 20
I (206400) BLE_MESH: recv, app_idx 0xfffe src 0x0005 dst 0x0001
I (206410) BLE_MESH: recv, len 21: 8055cb555594b97e6b4f3200000000000000000000
W (206420) EXAMPLE: EVENT # 3
W (206430) EXAMPLE: Remote Prov Client Recv RSP, opcode 0x8055, from 0x0005
I (206430) EXAMPLE: scan_report, rssi -53dBm
I (206440) EXAMPLE: scan_report, uuid: 55 55 94 b9 7e 6b 4f 32 00 00 00 00 00 00 00 00
I (206440) EXAMPLE: scan_report, oob_info 0x0000
I (206450) EXAMPLE: scan_report, uri_hash 0x00000000
I (206460) BLE_MESH: Client message 0x00008058 with timeout 4000ms
I (206460) BLE_MESH: send, app_idx 0xfffe src 0x0001 dst 0x0005
I (206470) BLE_MESH: send, len 2: 8058
I (206470) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (206480) BLE_MESH: Use security credentials 0x00, proxy 0
I (206490) BLE_MESH: Network PDU, count 2, interval 20
W (206490) EXAMPLE: EVENT # 0
W (206490) EXAMPLE: Remote Prov Client Send Comp, err_code 0
I (206560) BLE_MESH: recv, app_idx 0xfffe src 0x0005 dst 0x0001
I (206560) BLE_MESH: recv, len 4: 805b0000
W (206560) EXAMPLE: EVENT # 2
W (206570) EXAMPLE: Remote Prov Client Recv RSP, opcode 0x805b, from 0x0005
I (206570) EXAMPLE: link_status, status 0x00
I (206580) EXAMPLE: link_status, rpr_state 0x00
I (206580) BLE_MESH: Original timeout 4000ms, calculated timeout 2960ms
I (206590) BLE_MESH: Client message 0x00008059 with timeout 4000ms
I (206600) BLE_MESH: send, app_idx 0xfffe src 0x0001 dst 0x0005
I (206600) BLE_MESH: send, len 18: 8059555594b97e6b4f320000000000000000
I (206610) BLE_MESH: Seg, send_tag 0x01, send_szmic 0, aszmic 0
I (206620) BLE_MESH: Use security credentials 0x00, proxy 0
I (206620) BLE_MESH: Network PDU, count 0, interval 20
I (206640) BLE_MESH: Use security credentials 0x00, proxy 0
I (206640) BLE_MESH: Network PDU, count 0, interval 20
W (206640) EXAMPLE: EVENT # 0
W (206650) EXAMPLE: Remote Prov Client Send Comp, err_code 0
I (206730) BLE_MESH: Seg 0/1 acked
I (206730) BLE_MESH: Seg 1/1 acked
I (206950) BLE_MESH: recv, app_idx 0xfffe src 0x0005 dst 0x0001
I (206950) BLE_MESH: recv, len 4: 805b0001
W (206950) EXAMPLE: EVENT # 2
W (206950) EXAMPLE: Remote Prov Client Recv RSP, opcode 0x805b, from 0x0005
I (206960) EXAMPLE: link_status, status 0x00
I (206970) EXAMPLE: link_status, rpr_state 0x01
I (206970) EXAMPLE: Remote Provisioning Server(addr: 0x0005) Recv Link Open Success
W (207040) BLE_MESH: No outbound bearer found, inbound bearer 0



LOGS from rpr_server
I (686) phy_init: phy_version 4780,16b31a7,Sep 22 2023,20:42:16
I (1086) EXAMPLE:uuid: 55 aa c4 dd 57 9d 10 ca 00 00 00 00 00 00 00 00 
Bluetooth Mesh v1.1 commit: [1469712f9f]
I (1086) BLE_MESH: Friend not supported
I (1176) EXAMPLE: ESP_BLE_MESH_PROV_REGISTER_COMP_EVT, err_code 0
I (1186) EXAMPLE: BLE Mesh Node initialized
I (1186) main_task: Returned from app_main()
I (1196) EXAMPLE: ESP_BLE_MESH_NODE_PROV_ENABLE_COMP_EVT, err_code 0
I (31186) EXAMPLE: ESP_BLE_MESH_NODE_PROV_LINK_OPEN_EVT, bearer PB-GATT
I (31336) BLE_MESH: Algorithm:   0x01
I (31336) BLE_MESH: Public Key:  0x00
I (31336) BLE_MESH: Auth Method: 0x00
I (31336) BLE_MESH: Auth Action: 0x00
I (31336) BLE_MESH: Auth Size:   0x00
I (31666) BLE_MESH: Remote Random: f4e898b27d1a1bcdeab9c7eec5b377c83506dee81db6724af572c2b4fd063bf5
I (31726) BLE_MESH: Primary Element: 0x0005
I (31726) BLE_MESH: net_idx 0x0000 flags 0x00 iv_index 0x0000
I (31726) BLE_MESH: DevKey 58a2e4c8bb85f5581818d65d7df00c75
I (31736) BLE_MESH: NetKey 1e28355412171b14432b6c9cfa4836c6
I (31746) BLE_MESH: Primary address 0x0005, element count 3
I (31746) BLE_MESH: Scan is already started
I (31766) EXAMPLE: ESP_BLE_MESH_NODE_PROV_LINK_CLOSE_EVT, bearer PB-GATT
I (31766) EXAMPLE: ESP_BLE_MESH_NODE_PROV_COMPLETE_EVT
I (31776) EXAMPLE: net_idx: 0x0000, addr: 0x0005
I (31776) EXAMPLE: flags: 0x00, iv_index: 0x00000000
I (31786) net_key: 1e 28 35 54 12 17 1b 14 43 2b 6c 9c fa 48 36 c6
W (31836) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x13
W (31846) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x13
I (31906) BLE_MESH: recv, app_idx 0xfffe src 0x0001 dst 0x0005
I (31906) BLE_MESH: recv, len 3: 800800
I (31906) BLE_MESH: send, app_idx 0xfffe src 0x0005 dst 0x0001
I (31916) BLE_MESH: send, len 34: 0200e502000000000a00030000000300040000000010000001000010000001000010
I (31926) BLE_MESH: Seg, send_tag 0x03, send_szmic 0, aszmic 0
I (31926) BLE_MESH: Use security credentials 0x00, proxy 0
I (31936) BLE_MESH: Network PDU, count 0, interval 20
I (31936) BLE_MESH: Use security credentials 0x00, proxy 0
I (31946) BLE_MESH: Network PDU, count 0, interval 20
I (31956) BLE_MESH: Use security credentials 0x00, proxy 0
I (31956) BLE_MESH: Network PDU, count 0, interval 20
I (31966) BLE_MESH: Use security credentials 0x00, proxy 0
I (31976) BLE_MESH: Network PDU, count 0, interval 20
I (32846) BLE_MESH: Attempts: 3
I (32846) BLE_MESH: Resending 0/3, cred 0x00
I (32856) BLE_MESH: Resending 1/3, cred 0x00
I (32856) BLE_MESH: Resending 2/3, cred 0x00
I (32856) BLE_MESH: Resending 3/3, cred 0x00
I (32916) BLE_MESH: Seg 0/3 acked
I (32916) BLE_MESH: Seg 1/3 acked
I (32926) BLE_MESH: Seg 2/3 acked
I (32926) BLE_MESH: Attempts: 2
I (33006) BLE_MESH: Seg 3/3 acked
I (33166) BLE_MESH: Seg 0/1 received
I (33766) BLE_MESH: Received already received fragment
I (33866) BLE_MESH: Use security credentials 0x00, proxy 0
I (33866) BLE_MESH: Network PDU, count 2, interval 20
I (33896) BLE_MESH: Seg 1/1 received
I (33906) BLE_MESH: Use security credentials 0x00, proxy 0
I (33906) BLE_MESH: Network PDU, count 2, interval 20
I (33906) BLE_MESH: recv, app_idx 0xfffe src 0x0001 dst 0x0005
I (33916) BLE_MESH: recv, len 20: 0000000012121212121212121212121212121212
I (33926) BLE_MESH: send, app_idx 0xfffe src 0x0005 dst 0x0001
I (33926) BLE_MESH: send, len 6: 800300000000
I (33936) BLE_MESH: Unseg, send_tag 0x02, send_szmic 0, aszmic 0
I (33936) BLE_MESH: Use security credentials 0x00, proxy 0
I (33946) BLE_MESH: Network PDU, count 2, interval 20
I (33956) EXAMPLE: ESP_BLE_MESH_MODEL_OP_APP_KEY_ADD
I (33956) EXAMPLE: net_idx 0x0000, app_idx 0x0000
I (33966) AppKey: 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12
I (34126) BLE_MESH: recv, app_idx 0xfffe src 0x0001 dst 0x0005
I (34136) BLE_MESH: recv, len 8: 803d050000000010
I (34136) BLE_MESH: bind app key 0 on mode 0x1000
I (34136) BLE_MESH: send, app_idx 0xfffe src 0x0005 dst 0x0001
I (34146) BLE_MESH: send, len 9: 803e00050000000010
I (34146) BLE_MESH: Unseg, send_tag 0x02, send_szmic 0, aszmic 0
I (34156) BLE_MESH: Use security credentials 0x00, proxy 0
I (34166) BLE_MESH: Network PDU, count 2, interval 20
I (34176) EXAMPLE: ESP_BLE_MESH_MODEL_OP_MODEL_APP_BIND
I (34176) EXAMPLE: elem_addr 0x0005, app_idx 0x0000, cid 0xffff, mod_id 0x1000
I (232846) BLE_MESH: recv, app_idx 0xfffe src 0x0001 dst 0x0005
I (232856) BLE_MESH: recv, len 2: 8051
I (232856) BLE_MESH: send, app_idx 0xfffe src 0x0005 dst 0x0001
I (232856) BLE_MESH: send, len 6: 805400000000
I (232866) BLE_MESH: Unseg, send_tag 0x02, send_szmic 0, aszmic 0
I (232866) BLE_MESH: Use security credentials 0x00, proxy 0
I (232876) BLE_MESH: Network PDU, count 2, interval 20
I (232986) BLE_MESH: recv, app_idx 0xfffe src 0x0001 dst 0x0005
I (232986) BLE_MESH: recv, len 4: 8052000a
I (232986) BLE_MESH: send, app_idx 0xfffe src 0x0005 dst 0x0001
I (232986) BLE_MESH: send, len 6: 805400010a0a
I (232996) BLE_MESH: Unseg, send_tag 0x02, send_szmic 0, aszmic 0
I (233006) BLE_MESH: Use security credentials 0x00, proxy 0
I (233006) BLE_MESH: Network PDU, count 2, interval 20
W (233026) EXAMPLE: ESP_BLE_MESH_RPR_SERVER_SCAN_START_EVT
I (233026) EXAMPLE: scan_start, element_idx 0x00
I (233026) EXAMPLE: scan_start, model_idx 0x00
I (233036) EXAMPLE: scan_start, scan_items_limit 0x0a
I (233036) EXAMPLE: scan_start, timeout 0x0a
I (233046) EXAMPLE: scan_start, net_idx 0x0000
I (233046) EXAMPLE: scan_start, rpr_cli_addr 0x0001
I (233056) CMD_RP: scan_start, uuid: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
I (234986) BLE_MESH: send, app_idx 0xfffe src 0x0005 dst 0x0001
I (234986) BLE_MESH: send, len 21: 8055cb555594b97e6b4f3200000000000000000000
I (234986) BLE_MESH: Seg, send_tag 0x01, send_szmic 0, aszmic 0
I (234996) BLE_MESH: Use security credentials 0x00, proxy 0
I (235006) BLE_MESH: Network PDU, count 0, interval 20
I (235016) BLE_MESH: Use security credentials 0x00, proxy 0
I (235016) BLE_MESH: Network PDU, count 0, interval 20
I (235016) BLE_MESH: Use security credentials 0x00, proxy 0
I (235026) BLE_MESH: Network PDU, count 0, interval 20
I (235146) BLE_MESH: Seg 0/2 acked
I (235146) BLE_MESH: Seg 1/2 acked
I (235146) BLE_MESH: Seg 2/2 acked
I (235206) BLE_MESH: recv, app_idx 0xfffe src 0x0001 dst 0x0005
I (235206) BLE_MESH: recv, len 2: 8058
I (235206) BLE_MESH: send, app_idx 0xfffe src 0x0005 dst 0x0001
I (235206) BLE_MESH: send, len 4: 805b0000
I (235216) BLE_MESH: Unseg, send_tag 0x02, send_szmic 0, aszmic 0
I (235226) BLE_MESH: Use security credentials 0x00, proxy 0
I (235226) BLE_MESH: Network PDU, count 2, interval 20
I (235346) BLE_MESH: Seg 0/1 received
I (235366) BLE_MESH: Seg 1/1 received
I (235366) BLE_MESH: Use security credentials 0x00, proxy 0
I (235376) BLE_MESH: Network PDU, count 2, interval 20
I (235376) BLE_MESH: recv, app_idx 0xfffe src 0x0001 dst 0x0005
I (235386) BLE_MESH: recv, len 18: 8059555594b97e6b4f320000000000000000
I (235396) BLE_MESH: send, app_idx 0xfffe src 0x0005 dst 0x0001
I (235396) BLE_MESH: send, len 4: 805b0001
I (235396) BLE_MESH: Unseg, send_tag 0x02, send_szmic 0, aszmic 0
I (235406) BLE_MESH: Use security credentials 0x00, proxy 0
I (235416) BLE_MESH: Network PDU, count 2, interval 20
I (235566) BLE_MESH: PB-Remote, receive Link ACK
I (235566) BLE_MESH: send, app_idx 0xfffe src 0x0005 dst 0xfffe
I (235566) BLE_MESH: send, len 4: 805c0002
I (235576) BLE_MESH: Seg, send_tag 0x01, send_szmic 0, aszmic 0
I (235586) BLE_MESH: Use security credentials 0x00, proxy 0
I (235586) BLE_MESH: Seg 0/0 received
I (235596) BLE_MESH: Not sending ack for non-unicast address
I (235596) BLE_MESH: recv, app_idx 0xfffe src 0x0005 dst 0xfffe
I (235606) BLE_MESH: recv, len 4: 805c0002
W (235616) BLE_MESH: No outbound bearer found, inbound bearer 1
I (235616) BLE_MESH: Network PDU, count 0, interval 20
W (235626) EXAMPLE: ESP_BLE_MESH_RPR_SERVER_LINK_OPEN_EVT
I (235626) BLE_MESH: Link ACK for PB-Remote already received
I (235636) EXAMPLE: link_open, element_idx 0x00
I (235636) EXAMPLE: link_open, model_idx 0x00
I (235646) EXAMPLE: link_open, status 0x00
I (235646) EXAMPLE: link_open, timeout 0x00
I (235656) EXAMPLE: link_open, nppi 0x03
I (235656) BLE_MESH: Link ACK for PB-Remote already received
I (235666) EXAMPLE: link_open, net_idx 0x0000
I (235676) EXAMPLE: link_open, rpr_cli_addr 0xfffe
I (235676) CMD_RP: link_open, uuid: 55 55 94 b9 7e 6b 4f 32 00 00 00 00 00 00 00 00 
I (235686) BLE_MESH: Link ACK for PB-Remote already received
I (235696) BLE_MESH: Attempts: 3
I (236206) BLE_MESH: Link ACK for PB-Remote already received
I (236226) BLE_MESH: Link ACK for PB-Remote already received
I (236256) BLE_MESH: Link ACK for PB-Remote already received
I (236796) BLE_MESH: Link ACK for PB-Remote already received
I (236816) BLE_MESH: Link ACK for PB-Remote already received
I (236886) BLE_MESH: Link ACK for PB-Remote already received
I (237386) BLE_MESH: Link ACK for PB-Remote already received
I (237406) BLE_MESH: Link ACK for PB-Remote already received
I (237426) BLE_MESH: Link ACK for PB-Remote already received
I (237446) BLE_MESH: Link ACK for PB-Remote already received
I (237976) BLE_MESH: Link ACK for PB-Remote already received
I (238006) BLE_MESH: Link ACK for PB-Remote already received
I (238026) BLE_MESH: Link ACK for PB-Remote already received
I (238046) BLE_MESH: Link ACK for PB-Remote already received
I (238566) BLE_MESH: Link ACK for PB-Remote already received
I (238616) BLE_MESH: Link ACK for PB-Remote already received
I (238646) BLE_MESH: Link ACK for PB-Remote already received
I (239166) BLE_MESH: Link ACK for PB-Remote already received
I (239176) BLE_MESH: Link ACK for PB-Remote already received
I (239206) BLE_MESH: Link ACK for PB-Remote already received
I (239226) BLE_MESH: Link ACK for PB-Remote already received
I (239746) BLE_MESH: Link ACK for PB-Remote already received
I (239806) BLE_MESH: Link ACK for PB-Remote already received
I (239826) BLE_MESH: Link ACK for PB-Remote already received
I (240336) BLE_MESH: Link ACK for PB-Remote already received
I (240386) BLE_MESH: Link ACK for PB-Remote already received
I (240406) BLE_MESH: Link ACK for PB-Remote already received
I (240926) BLE_MESH: Link ACK for PB-Remote already received
I (240946) BLE_MESH: Link ACK for PB-Remote already received
I (240996) BLE_MESH: Link ACK for PB-Remote already received
I (241516) BLE_MESH: Link ACK for PB-Remote already received
I (241536) BLE_MESH: Link ACK for PB-Remote already received
I (241566) BLE_MESH: Link ACK for PB-Remote already received
I (241586) BLE_MESH: Link ACK for PB-Remote already received
I (242106) BLE_MESH: Link ACK for PB-Remote already received
I (242126) BLE_MESH: Link ACK for PB-Remote already received
I (242146) BLE_MESH: Link ACK for PB-Remote already received
I (242696) BLE_MESH: Link ACK for PB-Remote already received
I (242726) BLE_MESH: Link ACK for PB-Remote already received
I (242746) BLE_MESH: Link ACK for PB-Remote already received
I (242766) BLE_MESH: Link ACK for PB-Remote already received
W (243036) EXAMPLE: ESP_BLE_MESH_RPR_SERVER_SCAN_STOP_EVT
I (243036) EXAMPLE: scan_stop, element_idx 0x00
I (243036) EXAMPLE: scan_stop, model_idx 0x00
I (243046) EXAMPLE: scan_stop, net_idx 0x0000
I (243046) EXAMPLE: scan_stop, rpr_cli_addr 0x0001
I (243056) CMD_RP: scan_stop, uuid: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
I (243286) BLE_MESH: Link ACK for PB-Remote already received
I (243336) BLE_MESH: Link ACK for PB-Remote already received
I (243366) BLE_MESH: Link ACK for PB-Remote already received
I (243886) BLE_MESH: Link ACK for PB-Remote already received
I (243906) BLE_MESH: Link ACK for PB-Remote already received
I (243926) BLE_MESH: Link ACK for PB-Remote already received
I (244466) BLE_MESH: Link ACK for PB-Remote already received
I (244526) BLE_MESH: Link ACK for PB-Remote already received
I (244536) BLE_MESH: Link ACK for PB-Remote already received
I (245056) BLE_MESH: Link ACK for PB-Remote already received
I (245086) BLE_MESH: Link ACK for PB-Remote already received
I (245106) BLE_MESH: Link ACK for PB-Remote already received
I (245136) BLE_MESH: Link ACK for PB-Remote already received
I (245656) BLE_MESH: Link ACK for PB-Remote already received
I (245676) BLE_MESH: Link ACK for PB-Remote already received
I (245706) BLE_MESH: Link ACK for PB-Remote already received
I (245726) BLE_MESH: Link ACK for PB-Remote already received
I (246246) BLE_MESH: Link ACK for PB-Remote already received
I (246266) BLE_MESH: Link ACK for PB-Remote already received
I (246286) BLE_MESH: Link ACK for PB-Remote already received
I (246316) BLE_MESH: Link ACK for PB-Remote already received
I (246836) BLE_MESH: Link ACK for PB-Remote already received
I (246856) BLE_MESH: Link ACK for PB-Remote already received
I (246906) BLE_MESH: Link ACK for PB-Remote already received
I (247426) BLE_MESH: Link ACK for PB-Remote already received
I (247446) BLE_MESH: Link ACK for PB-Remote already received
I (247476) BLE_MESH: Link ACK for PB-Remote already received
I (247496) BLE_MESH: Link ACK for PB-Remote already received
I (248026) BLE_MESH: Link ACK for PB-Remote already received
I (248036) BLE_MESH: Link ACK for PB-Remote already received
I (248066) BLE_MESH: Link ACK for PB-Remote already received
I (248606) BLE_MESH: Link ACK for PB-Remote already received
I (248666) BLE_MESH: Link ACK for PB-Remote already received
I (248686) BLE_MESH: Link ACK for PB-Remote already received
I (249206) BLE_MESH: Link ACK for PB-Remote already received
I (249246) BLE_MESH: Link ACK for PB-Remote already received
I (249266) BLE_MESH: Link ACK for PB-Remote already received
I (249786) BLE_MESH: Link ACK for PB-Remote already received
I (249806) BLE_MESH: Link ACK for PB-Remote already received
I (249836) BLE_MESH: Link ACK for PB-Remote already received
I (249856) BLE_MESH: Link ACK for PB-Remote already received
I (250386) BLE_MESH: Link ACK for PB-Remote already received
I (250406) BLE_MESH: Link ACK for PB-Remote already received
I (250426) BLE_MESH: Link ACK for PB-Remote already received
I (250966) BLE_MESH: Link ACK for PB-Remote already received
I (250986) BLE_MESH: Link ACK for PB-Remote already received
I (251036) BLE_MESH: Link ACK for PB-Remote already received
I (251556) BLE_MESH: Link ACK for PB-Remote already received
I (251586) BLE_MESH: Link ACK for PB-Remote already received
I (251606) BLE_MESH: Link ACK for PB-Remote already received
I (252146) BLE_MESH: Link ACK for PB-Remote already received
I (252166) BLE_MESH: Link ACK for PB-Remote already received
I (252216) BLE_MESH: Link ACK for PB-Remote already received
I (252736) BLE_MESH: Link ACK for PB-Remote already received
I (252756) BLE_MESH: Link ACK for PB-Remote already received
I (252786) BLE_MESH: Link ACK for PB-Remote already received
I (252806) BLE_MESH: Link ACK for PB-Remote already received
I (253326) BLE_MESH: Link ACK for PB-Remote already received
I (253346) BLE_MESH: Link ACK for PB-Remote already received
I (253376) BLE_MESH: Link ACK for PB-Remote already received
I (253406) BLE_MESH: Link ACK for PB-Remote already received
I (253916) BLE_MESH: Link ACK for PB-Remote already received
I (253936) BLE_MESH: Link ACK for PB-Remote already received
I (253966) BLE_MESH: Link ACK for PB-Remote already received
I (253986) BLE_MESH: Link ACK for PB-Remote already received
I (254506) BLE_MESH: Link ACK for PB-Remote already received
I (254526) BLE_MESH: Link ACK for PB-Remote already received
I (254546) BLE_MESH: Link ACK for PB-Remote already received
I (255106) BLE_MESH: Link ACK for PB-Remote already received
I (255116) BLE_MESH: Link ACK for PB-Remote already received
I (255146) BLE_MESH: Link ACK for PB-Remote already received
I (255166) BLE_MESH: Link ACK for PB-Remote already received
I (255686) BLE_MESH: Link ACK for PB-Remote already received
I (255706) BLE_MESH: Link ACK for PB-Remote already received
I (255726) BLE_MESH: Link ACK for PB-Remote already received
I (255756) BLE_MESH: Link ACK for PB-Remote already received
I (256276) BLE_MESH: Link ACK for PB-Remote already received
I (256296) BLE_MESH: Link ACK for PB-Remote already received
I (256326) BLE_MESH: Link ACK for PB-Remote already received
I (256346) BLE_MESH: Link ACK for PB-Remote already received
I (256866) BLE_MESH: Link ACK for PB-Remote already received
I (256886) BLE_MESH: Link ACK for PB-Remote already received
I (256926) BLE_MESH: Link ACK for PB-Remote already received
I (256936) BLE_MESH: Link ACK for PB-Remote already received
I (257456) BLE_MESH: Link ACK for PB-Remote already received
I (257476) BLE_MESH: Link ACK for PB-Remote already received
I (257506) BLE_MESH: Link ACK for PB-Remote already received
I (257516) BLE_MESH: Link ACK for PB-Remote already received
I (258046) BLE_MESH: Link ACK for PB-Remote already received
I (258066) BLE_MESH: Link ACK for PB-Remote already received
I (258116) BLE_MESH: Link ACK for PB-Remote already received
I (258636) BLE_MESH: Link ACK for PB-Remote already received
I (258666) BLE_MESH: Link ACK for PB-Remote already received
I (258686) BLE_MESH: Link ACK for PB-Remote already received
I (258706) BLE_MESH: Link ACK for PB-Remote already received
I (259226) BLE_MESH: Link ACK for PB-Remote already received
I (259246) BLE_MESH: Link ACK for PB-Remote already received
I (259266) BLE_MESH: Link ACK for PB-Remote already received
I (259816) BLE_MESH: Link ACK for PB-Remote already received
I (259846) BLE_MESH: Link ACK for PB-Remote already received
I (259866) BLE_MESH: Link ACK for PB-Remote already received
I (260406) BLE_MESH: Link ACK for PB-Remote already received
I (260426) BLE_MESH: Link ACK for PB-Remote already received
I (260486) BLE_MESH: Link ACK for PB-Remote already received
I (260996) BLE_MESH: Link ACK for PB-Remote already received
I (261036) BLE_MESH: Link ACK for PB-Remote already received
I (261066) BLE_MESH: Link ACK for PB-Remote already received
I (261586) BLE_MESH: Link ACK for PB-Remote already received
I (261606) BLE_MESH: Link ACK for PB-Remote already received
I (261626) BLE_MESH: Link ACK for PB-Remote already received
I (261656) BLE_MESH: Link ACK for PB-Remote already received
I (262176) BLE_MESH: Link ACK for PB-Remote already received
I (262196) BLE_MESH: Link ACK for PB-Remote already received
I (262226) BLE_MESH: Link ACK for PB-Remote already received
I (262766) BLE_MESH: Link ACK for PB-Remote already received
I (262786) BLE_MESH: Link ACK for PB-Remote already received
I (262816) BLE_MESH: Link ACK for PB-Remote already received
I (263366) BLE_MESH: Link ACK for PB-Remote already received
I (263386) BLE_MESH: Link ACK for PB-Remote already received
I (263406) BLE_MESH: Link ACK for PB-Remote already received
I (263946) BLE_MESH: Link ACK for PB-Remote already received
I (264006) BLE_MESH: Link ACK for PB-Remote already received
I (264026) BLE_MESH: Link ACK for PB-Remote already received
I (264536) BLE_MESH: Link ACK for PB-Remote already received
I (264556) BLE_MESH: Link ACK for PB-Remote already received
I (264586) BLE_MESH: Link ACK for PB-Remote already received
I (265126) BLE_MESH: Link ACK for PB-Remote already received
I (265146) BLE_MESH: Link ACK for PB-Remote already received
I (265166) BLE_MESH: Link ACK for PB-Remote already received
I (265206) BLE_MESH: Link ACK for PB-Remote already received


LOGS from unprov_dev
I (663) phy_init: phy_version 4780,16b31a7,Sep 22 2023,20:42:16
I (973) dev_uuid: 55 55 94 b9 7e 6b 4f 32 00 00 00 00 00 00 00 00 
Bluetooth Mesh v1.1 commit: [1469712f9f]
I (973) BLE_MESH: Relay not supported
I (973) BLE_MESH: Friend not supported
I (1033) EXAMPLE: ESP_BLE_MESH_PROV_REGISTER_COMP_EVT, err_code 0
I (1043) EXAMPLE: BLE Mesh Node initialized
I (1053) EXAMPLE: ESP_BLE_MESH_NODE_PROV_ENABLE_COMP_EVT, err_code 0
I (3043) main_task: Returned from app_main()
I (82073) EXAMPLE: ESP_BLE_MESH_NODE_PROV_LINK_OPEN_EVT, bearer PB-ADV
W (112263) BLE_MESH: Timeout, giving up transaction
I (112263) EXAMPLE: ESP_BLE_MESH_NODE_PROV_LINK_CLOSE_EVT, bearer PB-ADV

More Information.

I also tried with ESP32-S3 from adafruit, result is identical.

It looks like ESP_BLE_MESH_MODEL_OP_RPR_LINK_REPORT is not sent to rpr_client. Or at least rpr_client does not callback any RPR_LINK_REPORT from rpr_server, and consequently /* Let remote provisioning server start provisioning */ err = esp_ble_mesh_rpr_client_action(ESP_BLE_MESH_RPR_CLIENT_ACT_START_RPR, &param); if (err) { ESP_LOGE(TAG, "Failed to perform Remote Provisioning Client action: Start Prov"); } is never executed.

I wonder also if it is not due to the bearer that is in use during remote provisioning process (PB-ADV,

About this issue

  • Original URL
  • State: closed
  • Created 8 months ago
  • Comments: 17

Most upvoted comments

@besbar I have attached the library for you. Please test it, and if the issue persists, share the logs with me. esp32_esp32s3.zip