apache / mynewt-nimble

Apache mynewt
https://mynewt.apache.org/
Apache License 2.0
665 stars 385 forks source link

linux_blemesh example #1742

Closed chegewara closed 3 months ago

chegewara commented 3 months ago

Hi, sorry for bothering you. I just wanted to check if its possible to run ble mesh on linux and i found this example (i also plan to use nimble mesh on esp32, just not yet).

I can build example and run it, but nrf mesh cant detect it. I cant see it with nrf connect too, so i am guessing its not advertising for some reason.

Any advice please.

Thanks

sjanc commented 3 months ago

Hmm I think call to bt_mesh_prov_enable() is missing in that linux example... not sure how it worked (?) before though check if following helps

[janc@ix apache-mynewt-nimble]$ git diff
diff --git a/porting/examples/linux_blemesh/ble.c b/porting/examples/linux_blemesh/ble.c
index 277481d2..381c6299 100644
--- a/porting/examples/linux_blemesh/ble.c
+++ b/porting/examples/linux_blemesh/ble.c
@@ -426,6 +426,8 @@ blemesh_on_sync(void)
     if (bt_mesh_is_provisioned()) {
         printk("Mesh network restored from flash\n");
     }
+
+    bt_mesh_prov_enable(BT_MESH_PROV_GATT | BT_MESH_PROV_ADV);
 }

@KKopyscinski ^^

KKopyscinski commented 3 months ago

@sjanc I don't know either, but does seem like it's missing. And yes, it should start provisioning bearers

chegewara commented 3 months ago

Yes, it was the case, thanks.

But now it crash during provisioning:

host tx hci data; handle=24 length=30
ble_hs_hci_acl_tx(): 0x18 0x00 0x1e 0x00 0x1a 0x00 0x04 0x00 0x1b 0x12 0x00 0x01 0x01 0x00 0x87 0x5c 0xd2 0xed 0xa7 0x74 0xed 0x54 0x00 0x00 0x00 0x00 0x49 0x46 0x41 0x80 0xa4 0x31 0xac 0x5b 
notify_complete: 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=29 data=0x19 0x00 0x04 0x00 0x52 0x10 0x00 0x00 0x22 0x65 0xa1 0xed 0xe0 0xce 0x5a 0xea 0x49 0x28 0x1d 0xd0 0x12 0x84 0x80 0x32 0xc2 0x68 0xbe 0x7d 0x4c 
proxy_msg_recv: Mesh Network PDU
bt_mesh_net_recv: rssi 0 net_if 2
bt_mesh_net_decode: 21 bytes: 2265a1ede0ce5aea49281dd012848032c268be7d4c
bt_mesh_net_cred_find: 
net_decrypt: NID 0x22
net_decrypt: IVI 0 net->iv_index 0x00000000
bt_mesh_net_obfuscate: IVIndex 0, PrivacyKey e7f285680f32559c06eea95d6ec7d9db
bt_mesh_net_obfuscate: PrivacyRandom 000000000000000000ea49281dd01284
net_decrypt: src 0x0001
bt_mesh_net_decrypt: PDU (21 bytes) 22050003260001ea49281dd012848032c268be7d4c
bt_mesh_net_decrypt: iv_index 0, key f8697691c7183c70ea246f69edf7f218 mic_len 4
bt_mesh_net_decrypt: Nonce 00050003260001000000000000
bt_mesh_net_decode: Decryption successful. Payload len 17: 2205000326000100490027350f07a67152
bt_mesh_net_decode: src 0x0001 dst 0x0049 ttl 5
bt_mesh_net_decode: PDU: 2205000326000100490027350f07a67152
Segmentation fault
KKopyscinski commented 3 months ago

I built this locally and provisioned device using nRF Mesh app on phone. I do not get segfault anywhere, but I do not get composition data. I built the blemesh app on nimble_1_7_0_rc1_tag commit, with the added missing function. Could you please provide backtrace? Or more data from the crash log

chegewara commented 3 months ago

Hi, i built with master branch and only change is to add missing function. With 1.7.0-rc1 the same crash. I am using android nrf mesh app.

Here is full log

looking up peer sec; 
Bluetooth initialized
cfg_srv_init: 
bt_mesh_prov_reset_state: bt_mesh_prov_reset_state
pub_key_ready: Local public key ready
Mesh initialized
bt_mesh_prov_enable: bt_mesh_prov_enable
bt_mesh_scan_enable: 
GAP procedure initiated: discovery; own_addr_type=0 filter_policy=0 passive=1 limited=0 filter_duplicates=0 duration=forever
mesh_adv_thread: started
bt_mesh_pb_gatt_adv_start: 
mesh_adv_thread: PB-GATT Advertising up to -1 ms
bt_mesh_pb_gatt_enable: 
bt_mesh_adv_update: 
bt_mesh_prov_enable: bt_mesh_prov_link.role = &role_device
GAP procedure initiated: stop advertising.
beacon_send: 
unprovisioned_beacon_send: unprovisioned_beacon_send
bt_mesh_adv_send: buf 0x56607920, type 0x02 len 23: 0011220000000000000000000000000000000000000000
adv_send: type 2 om_len 23: 0011220000000000000000000000000000000000000000
adv_send: count 3 interval 20ms duration 110ms
GAP procedure initiated: advertise; disc_mode=0 adv_channel_map=0 own_addr_type=0 adv_filter_policy=0 adv_itvl_min=32 adv_itvl_max=32
adv_send: Advertising started. Sleeping 110 ms
GAP procedure initiated: stop advertising.
adv_send: Advertising stopped (152 ms)
bt_mesh_pb_gatt_adv_start: 
GAP procedure initiated: advertise; disc_mode=2 adv_channel_map=0 own_addr_type=0 adv_filter_policy=0 adv_itvl_min=160 adv_itvl_max=240
mesh_adv_thread: PB-GATT Advertising up to 60000 ms
bt_mesh_beacon_recv: 22 bytes: 0100875cd2eda774ed540000000049464180a431ac5b
secure_beacon_recv: flags 0x00 id 875cd2eda774ed54 iv_index 0x00000000
secure_beacon_recv: No subnet that matched beacon
bt_mesh_beacon_recv: 23 bytes: 00dddd68b6b33e25fe0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd68b6b33e25fe0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd68b6b33e25fe0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd68b6b33e25fe0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd308398dccf0a0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd308398dccf0a0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd308398dccf0a0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd308398dccf0a0000000000000000
beacon_send: 
unprovisioned_beacon_send: unprovisioned_beacon_send
bt_mesh_adv_send: buf 0x56607920, type 0x02 len 23: 0011220000000000000000000000000000000000000000
GAP procedure initiated: stop advertising.
adv_send: type 2 om_len 23: 0011220000000000000000000000000000000000000000
adv_send: count 3 interval 20ms duration 110ms
GAP procedure initiated: advertise; disc_mode=0 adv_channel_map=0 own_addr_type=0 adv_filter_policy=0 adv_itvl_min=32 adv_itvl_max=32
adv_send: Advertising started. Sleeping 110 ms
GAP procedure initiated: stop advertising.
adv_send: Advertising stopped (152 ms)
bt_mesh_pb_gatt_adv_start: 
GAP procedure initiated: advertise; disc_mode=2 adv_channel_map=0 own_addr_type=0 adv_filter_policy=0 adv_itvl_min=1600 adv_itvl_max=1920
mesh_adv_thread: PB-GATT Advertising up to -1 ms
bt_mesh_beacon_recv: 23 bytes: 00dddd68b6b33e25fe0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd68b6b33e25fe0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd68b6b33e25fe0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd68b6b33e25fe0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd308398dccf0a0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd308398dccf0a0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd308398dccf0a0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd308398dccf0a0000000000000000
beacon_send: 
unprovisioned_beacon_send: unprovisioned_beacon_send
bt_mesh_adv_send: buf 0x56607920, type 0x02 len 23: 0011220000000000000000000000000000000000000000
GAP procedure initiated: stop advertising.
adv_send: type 2 om_len 23: 0011220000000000000000000000000000000000000000
adv_send: count 3 interval 20ms duration 110ms
GAP procedure initiated: advertise; disc_mode=0 adv_channel_map=0 own_addr_type=0 adv_filter_policy=0 adv_itvl_min=32 adv_itvl_max=32
adv_send: Advertising started. Sleeping 110 ms
GAP procedure initiated: stop advertising.
adv_send: Advertising stopped (152 ms)
bt_mesh_pb_gatt_adv_start: 
GAP procedure initiated: advertise; disc_mode=2 adv_channel_map=0 own_addr_type=0 adv_filter_policy=0 adv_itvl_min=1600 adv_itvl_max=1920
mesh_adv_thread: PB-GATT Advertising up to -1 ms
bt_mesh_beacon_recv: 22 bytes: 0100875cd2eda774ed540000000049464180a431ac5b
secure_beacon_recv: flags 0x00 id 875cd2eda774ed54 iv_index 0x00000000
secure_beacon_recv: No subnet that matched beacon
bt_mesh_beacon_recv: 23 bytes: 00dddd68b6b33e25fe0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd68b6b33e25fe0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd68b6b33e25fe0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd68b6b33e25fe0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd68b6b33e25fe0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd68b6b33e25fe0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd68b6b33e25fe0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd68b6b33e25fe0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd308398dccf0a0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd308398dccf0a0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd308398dccf0a0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd308398dccf0a0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd308398dccf0a0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd308398dccf0a0000000000000000
beacon_send: 
unprovisioned_beacon_send: unprovisioned_beacon_send
bt_mesh_adv_send: buf 0x56607920, type 0x02 len 23: 0011220000000000000000000000000000000000000000
GAP procedure initiated: stop advertising.
adv_send: type 2 om_len 23: 0011220000000000000000000000000000000000000000
adv_send: count 3 interval 20ms duration 110ms
GAP procedure initiated: advertise; disc_mode=0 adv_channel_map=0 own_addr_type=0 adv_filter_policy=0 adv_itvl_min=32 adv_itvl_max=32
adv_send: Advertising started. Sleeping 110 ms
GAP procedure initiated: stop advertising.
adv_send: Advertising stopped (152 ms)
bt_mesh_pb_gatt_adv_start: 
GAP procedure initiated: advertise; disc_mode=2 adv_channel_map=0 own_addr_type=0 adv_filter_policy=0 adv_itvl_min=1600 adv_itvl_max=1920
mesh_adv_thread: PB-GATT Advertising up to -1 ms
gatt_connected_pb_gatt: conn 0x56603280 err 0x00
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x10 0x01 0x00 0xff 0xff 0x00 0x28 
host tx hci data; handle=24 length=24
ble_hs_hci_acl_tx(): 0x18 0x00 0x18 0x00 0x14 0x00 0x04 0x00 0x11 0x06 0x01 0x00 0x05 0x00 0x00 0x18 0x06 0x00 0x0d 0x00 0x01 0x18 0x14 0x00 0xff 0xff 0x27 0x18 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x01 0x00 0x05 0x00 0x02 0x28 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x08 0x01 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x01 0x00 0x05 0x00 0x03 0x28 
host tx hci data; handle=24 length=20
ble_hs_hci_acl_tx(): 0x18 0x00 0x14 0x00 0x10 0x00 0x04 0x00 0x09 0x07 0x02 0x00 0x02 0x03 0x00 0x00 0x2a 0x04 0x00 0x02 0x05 0x00 0x01 0x2a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x05 0x00 0x05 0x00 0x03 0x28 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x08 0x05 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x06 0x00 0x0d 0x00 0x02 0x28 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x08 0x06 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x06 0x00 0x0d 0x00 0x03 0x28 
host tx hci data; handle=24 length=27
ble_hs_hci_acl_tx(): 0x18 0x00 0x1b 0x00 0x17 0x00 0x04 0x00 0x09 0x07 0x07 0x00 0x20 0x08 0x00 0x05 0x2a 0x0a 0x00 0x02 0x0b 0x00 0x3a 0x2b 0x0c 0x00 0x0a 0x0d 0x00 0x29 0x2b 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x0d 0x00 0x0d 0x00 0x03 0x28 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x08 0x0d 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=9 data=0x05 0x00 0x04 0x00 0x04 0x09 0x00 0x09 0x00 
host tx hci data; handle=24 length=10
ble_hs_hci_acl_tx(): 0x18 0x00 0x0a 0x00 0x06 0x00 0x04 0x00 0x05 0x01 0x09 0x00 0x02 0x29 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x14 0x00 0xff 0xff 0x02 0x28 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x08 0x14 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x14 0x00 0xff 0xff 0x03 0x28 
host tx hci data; handle=24 length=20
ble_hs_hci_acl_tx(): 0x18 0x00 0x14 0x00 0x10 0x00 0x04 0x00 0x09 0x07 0x15 0x00 0x04 0x16 0x00 0xdb 0x2a 0x17 0x00 0x10 0x18 0x00 0xdc 0x2a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x18 0x00 0xff 0xff 0x03 0x28 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x08 0x18 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=9 data=0x05 0x00 0x04 0x00 0x04 0x19 0x00 0xff 0xff 
host tx hci data; handle=24 length=10
ble_hs_hci_acl_tx(): 0x18 0x00 0x0a 0x00 0x06 0x00 0x04 0x00 0x05 0x01 0x19 0x00 0x02 0x29 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=9 data=0x05 0x00 0x04 0x00 0x04 0x1a 0x00 0xff 0xff 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x04 0x1a 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=7 data=0x03 0x00 0x04 0x00 0x02 0x05 0x02 
host tx hci data; handle=24 length=7
ble_hs_hci_acl_tx(): 0x18 0x00 0x07 0x00 0x03 0x00 0x04 0x00 0x03 0x00 0x01 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=9 data=0x05 0x00 0x04 0x00 0x12 0x19 0x00 0x01 0x00 
bt_mesh_pb_gatt_open: conn 0x18
prov_link_opened: bt_mesh_prov->link_open
prov_link_opened: bt_mesh_prov_link.bearer
prov_link_opened: bt_mesh_prov_link.role->link_opened
prov_link_opened: 0x565f94c0
prov_link_opened: 0x5659e702
prov_link_opened: done
host tx hci data; handle=24 length=5
ble_hs_hci_acl_tx(): 0x18 0x00 0x05 0x00 0x01 0x00 0x04 0x00 0x13 
bt_mesh_beacon_recv: 23 bytes: 00dddd68b6b33e25fe0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd68b6b33e25fe0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd68b6b33e25fe0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd68b6b33e25fe0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd308398dccf0a0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd308398dccf0a0000000000000000
beacon_send: 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=10 data=0x06 0x00 0x04 0x00 0x52 0x16 0x00 0x03 0x00 0x05 
proxy_msg_recv: Mesh Provisioning PDU
bt_mesh_pb_gatt_recv: 2 bytes: 0005
prov_recv: type 0x00 len 2
prov_invite: Attention Duration: 5 seconds
bt_mesh_attention: bt_mesh_attention
bt_mesh_proxy_msg_send: conn_handle 24 type 0x03 len 12: 010100010000000000000000
gatt_send: 13 bytes: 03010100010000000000000000
GATT procedure initiated: notify; att_handle=24
host tx hci data; handle=24 length=20
ble_hs_hci_acl_tx(): 0x18 0x00 0x14 0x00 0x10 0x00 0x04 0x00 0x1b 0x18 0x00 0x03 0x01 0x01 0x00 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 
notify_complete: 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=14 data=0x0a 0x00 0x04 0x00 0x52 0x16 0x00 0x03 0x02 0x00 0x00 0x00 0x00 0x00 
proxy_msg_recv: Mesh Provisioning PDU
bt_mesh_pb_gatt_recv: 6 bytes: 020000000000
prov_recv: type 0x02 len 6
prov_start: Algorithm:   0x00
prov_start: Public Key:  0x00
prov_start: Auth Method: 0x00
prov_start: Auth Action: 0x00
prov_start: Auth Size:   0x00
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=73 data=0x45 0x00 0x04 0x00 0x52 0x16 0x00 0x03 0x03 0x7e 0x38 0x41 0x9a 0x80 0xff 0x8d 0x37 0xe6 0x31 0x85 0xbc 0x54 0xa6 0x71 0xfd 0xe8 0xf6 0x26 0x5d 0x66 0xa8 0x71 0xe3 0xd6 0xdd 0x77 0x11 0x82 0x5d 0x9c 0x2c 0x05 0xf7 0x4f 0x3f 0xe2 0x3a 0x65 0xed 0x4b 0x5e 0x37 0x44 0x0c 0x04 0x1b 0x7f 0x49 0xb4 0x26 0x60 0x3a 0xdf 0x28 0x30 0x83 0x04 0x20 0x32 0x1f 0xb3 0xfb 0x4c 
proxy_msg_recv: Mesh Provisioning PDU
bt_mesh_pb_gatt_recv: 65 bytes: 037e38419a80ff8d37e63185bc54a671fde8f6265d66a871e3d6dd7711825d9c2c05f74f3fe23a65ed4b5e37440c041b7f49b426603adf2830830420321fb3fb4c
prov_recv: type 0x03 len 65
prov_pub_key: Remote Public Key: 7e38419a80ff8d37e63185bc54a671fde8f6265d66a871e3d6dd7711825d9c2c05f74f3fe23a65ed4b5e37440c041b7f49b426603adf2830830420321fb3fb4c
prov_dh_key_cb: 0xf71dee7c
dh_key_gen_complete: DHkey: 341e89f0e599c220b4a6065cd32810e181522bc0314a644a5933ea3304231472
send_pub_key: Local Public Key: 7528dab51349326891025f3f694daa6b1fd847d71e4875d6b5bd6fce86e03f4ef0919b9656a706365463aa7f5237f82988ae002b20d35282bed496c9e32a9712
bt_mesh_proxy_msg_send: conn_handle 24 type 0x03 len 65: 037528dab51349326891025f3f694daa6b1fd847d71e4875d6b5bd6fce86e03f4ef0919b9656a706365463aa7f5237f82988ae002b20d35282bed496c9e32a9712
gatt_send: 66 bytes: 03037528dab51349326891025f3f694daa6b1fd847d71e4875d6b5bd6fce86e03f4ef0919b9656a706365463aa7f5237f82988ae002b20d35282bed496c9e32a9712
GATT procedure initiated: notify; att_handle=24
host tx hci data; handle=24 length=73
ble_hs_hci_acl_tx(): 0x18 0x00 0x49 0x00 0x45 0x00 0x04 0x00 0x1b 0x18 0x00 0x03 0x03 0x75 0x28 0xda 0xb5 0x13 0x49 0x32 0x68 0x91 0x02 0x5f 0x3f 0x69 0x4d 0xaa 0x6b 0x1f 0xd8 0x47 0xd7 0x1e 0x48 0x75 0xd6 0xb5 0xbd 0x6f 0xce 0x86 0xe0 0x3f 0x4e 0xf0 0x91 0x9b 0x96 0x56 0xa7 0x06 0x36 0x54 0x63 0xaa 0x7f 0x52 0x37 0xf8 0x29 0x88 0xae 0x00 0x2b 0x20 0xd3 0x52 0x82 0xbe 0xd4 0x96 0xc9 0xe3 0x2a 0x97 0x12 
notify_complete: 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=25 data=0x15 0x00 0x04 0x00 0x52 0x16 0x00 0x03 0x05 0x18 0x1e 0x5e 0x71 0xa3 0xb5 0x2e 0x18 0x39 0x89 0x9e 0x7e 0x21 0xaf 0x7c 0xfe 
proxy_msg_recv: Mesh Provisioning PDU
bt_mesh_pb_gatt_recv: 17 bytes: 05181e5e71a3b52e1839899e7e21af7cfe
prov_recv: type 0x05 len 17
prov_confirm: Remote Confirm: 181e5e71a3b52e1839899e7e21af7cfe
send_confirm: ConfInputs[0]   05010001000000000000000000000000007e38419a80ff8d37e63185bc54a671fde8f6265d66a871e3d6dd7711825d9c2c05f74f3fe23a65ed4b5e37440c041b
send_confirm: ConfInputs[64]  7f49b426603adf2830830420321fb3fb4c7528dab51349326891025f3f694daa6b1fd847d71e4875d6b5bd6fce86e03f4ef0919b9656a706365463aa7f5237f8
send_confirm: ConfInputs[128] 2988ae002b20d35282bed496c9e32a9712
send_confirm: ConfirmationSalt: e3f8f8b01e3368c2433befbbea6cc94e
send_confirm: ConfirmationKey: cccb5ce739829cded618adfd71d89ce9
send_confirm: LocalRandom: 2484ab0f12c2d507a5c1adb86b702be8
bt_mesh_prov_conf: ConfirmationKey cccb5ce739829cded618adfd71d89ce9
bt_mesh_prov_conf: RandomDevice 2484ab0f12c2d507a5c1adb86b702be8
bt_mesh_prov_conf: AuthValue 00000000000000000000000000000000
bt_mesh_proxy_msg_send: conn_handle 24 type 0x03 len 17: 0596fba75b8860a13b6a785bc28b02e5e3
gatt_send: 18 bytes: 030596fba75b8860a13b6a785bc28b02e5e3
GATT procedure initiated: notify; att_handle=24
host tx hci data; handle=24 length=25
ble_hs_hci_acl_tx(): 0x18 0x00 0x19 0x00 0x15 0x00 0x04 0x00 0x1b 0x18 0x00 0x03 0x05 0x96 0xfb 0xa7 0x5b 0x88 0x60 0xa1 0x3b 0x6a 0x78 0x5b 0xc2 0x8b 0x02 0xe5 0xe3 
notify_complete: 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=25 data=0x15 0x00 0x04 0x00 0x52 0x16 0x00 0x03 0x06 0x8a 0x17 0xed 0x82 0xf0 0xab 0x18 0xa8 0x28 0x90 0x40 0x8d 0x5f 0x53 0x8a 0x02 
proxy_msg_recv: Mesh Provisioning PDU
bt_mesh_pb_gatt_recv: 17 bytes: 068a17ed82f0ab18a82890408d5f538a02
prov_recv: type 0x06 len 17
prov_random: Remote Random: 8a17ed82f0ab18a82890408d5f538a02
bt_mesh_prov_conf: ConfirmationKey cccb5ce739829cded618adfd71d89ce9
bt_mesh_prov_conf: RandomDevice 8a17ed82f0ab18a82890408d5f538a02
bt_mesh_prov_conf: AuthValue 00000000000000000000000000000000
prov_random: ProvisioningSalt: 83fbefc93161b8eac27539f6a360459f
bt_mesh_proxy_msg_send: conn_handle 24 type 0x03 len 17: 062484ab0f12c2d507a5c1adb86b702be8
gatt_send: 18 bytes: 03062484ab0f12c2d507a5c1adb86b702be8
GATT procedure initiated: notify; att_handle=24
host tx hci data; handle=24 length=25
ble_hs_hci_acl_tx(): 0x18 0x00 0x19 0x00 0x15 0x00 0x04 0x00 0x1b 0x18 0x00 0x03 0x06 0x24 0x84 0xab 0x0f 0x12 0xc2 0xd5 0x07 0xa5 0xc1 0xad 0xb8 0x6b 0x70 0x2b 0xe8 
notify_complete: 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=42 data=0x26 0x00 0x04 0x00 0x52 0x16 0x00 0x03 0x07 0x17 0x53 0x85 0x1c 0xa3 0x20 0xcc 0xa9 0x21 0x77 0x95 0x23 0x55 0x9b 0x6d 0x59 0x91 0x1f 0xd0 0x1c 0xc6 0xd4 0x7d 0xb5 0x62 0xb4 0xc0 0xd8 0x34 0x59 0x1c 0x3f 0xd2 
proxy_msg_recv: Mesh Provisioning PDU
bt_mesh_pb_gatt_recv: 34 bytes: 071753851ca320cca921779523559b6d59911fd01cc6d47db562b4c0d834591c3fd2
prov_recv: type 0x07 len 34
prov_data: 
prov_data: SessionKey: 8da4670ebe4897c916115ed3de675d13
prov_data: Nonce: 99b791a4b433bc1a6366553ff2
prov_data: DevKey: 0d1b6082db361b8cec49eec079792938
prov_data: net_idx 0 iv_index 0x00000000, addr 0x0049
bt_mesh_proxy_msg_send: conn_handle 24 type 0x03 len 1: 08
gatt_send: 2 bytes: 0308
GATT procedure initiated: notify; att_handle=24
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x1b 0x18 0x00 0x03 0x08 
notify_complete: 
bt_mesh_provision: Primary Element: 0x0049
bt_mesh_provision: net_idx 0x0000 flags 0x00 iv_index 0x0000
bt_mesh_net_create: idx 0 flags 0x00 iv_index 0
bt_mesh_net_create: NetKey 9b6c2cb0d5159a4a4a09fe08f407c953
bt_mesh_k2: n 9b6c2cb0d5159a4a4a09fe08f407c953
bt_mesh_k2: p 00
bt_mesh_k2: NID 0x22 enc_key f8697691c7183c70ea246f69edf7f218
bt_mesh_k2: priv_key e7f285680f32559c06eea95d6ec7d9db
net_keys_create: NID 0x22 EncKey f8697691c7183c70ea246f69edf7f218
net_keys_create: PrivacyKey e7f285680f32559c06eea95d6ec7d9db
net_keys_create: NetID 875cd2eda774ed54
net_keys_create: IdentityKey 75a6b5e12c516da8cbd17f4b42a8fb40
net_keys_create: BeaconKey a1938d9dd79942ec523b9ec659cb0900
bt_mesh_beacon_update: NetIndex 0x000 Using current key
bt_mesh_beacon_update: flags 0x00, IVI 0x00000000
bt_mesh_beacon_auth: BeaconKey a1938d9dd79942ec523b9ec659cb0900
bt_mesh_beacon_auth: NetId 875cd2eda774ed54
bt_mesh_beacon_auth: IV Index 0x00000000
bt_mesh_beacon_auth: BeaconMsg 00875cd2eda774ed5400000000
bt_mesh_comp_provision: addr 0x0049 elem_count 1
bt_mesh_comp_provision: addr 0x0049 mod_count 4 vnd_mod_count 1
bt_mesh_beacon_update: NetIndex 0x000 Using current key
bt_mesh_beacon_update: flags 0x00, IVI 0x00000000
bt_mesh_beacon_auth: BeaconKey a1938d9dd79942ec523b9ec659cb0900
bt_mesh_beacon_auth: NetId 875cd2eda774ed54
bt_mesh_beacon_auth: IV Index 0x00000000
bt_mesh_beacon_auth: BeaconMsg 00875cd2eda774ed5400000000
bt_mesh_lpn_init: 
bt_mesh_scan_enable: 
Local node provisioned, primary address 0x0049
bt_mesh_proxy_identity_enable: 
bt_mesh_adv_update: 
GAP procedure initiated: stop advertising.
beacon_send: 
secure_beacon_send: 
bt_mesh_beacon_create: net_idx 0x0000 flags 0x00 NetID 875cd2eda774ed54
bt_mesh_beacon_create: IV Index 0x00000000 Auth 49464180a431ac5b
bt_mesh_adv_send: buf 0x56607920, type 0x02 len 22: 0100875cd2eda774ed540000000049464180a431ac5b
adv_send: type 2 om_len 22: 0100875cd2eda774ed540000000049464180a431ac5b
adv_send: count 1 interval 20ms duration 50ms
GAP procedure initiated: advertise; disc_mode=0 adv_channel_map=0 own_addr_type=0 adv_filter_policy=0 adv_itvl_min=32 adv_itvl_max=32
adv_send: Advertising started. Sleeping 50 ms
GAP procedure initiated: stop advertising.
adv_send: Advertising stopped (91 ms)
beacon_complete: err 0
bt_mesh_proxy_adv_start: 
mesh_adv_thread: Proxy Advertising up to -1 ms
prov_ccc_write: No PB-GATT Client found
bt_mesh_proxy_gatt_enable: 
bt_mesh_adv_update: 
gatt_disconnected_pb_gatt: conn_handle 24 reason 0x13
bt_mesh_pb_gatt_close: conn 0x18
bt_mesh_prov_reset_state: bt_mesh_prov_reset_state
bt_mesh_attention: bt_mesh_attention
GAP procedure initiated: stop advertising.
bt_mesh_proxy_adv_start: 
gatt_proxy_advertise: 
gatt_proxy_advertise: sub_count 1
gatt_proxy_advertise: Node ID active for 1226 ms, 58774 ms remaining
node_id_adv: 
pub_key_ready: Local public key ready
bt_mesh_pb_gatt_disable: 
bt_mesh_adv_update: 
attention_off: 
GAP procedure initiated: advertise; disc_mode=2 adv_channel_map=0 own_addr_type=0 adv_filter_policy=0 adv_itvl_min=160 adv_itvl_max=240
gatt_proxy_advertise: Advertising 58774 ms for net_idx 0x0000
mesh_adv_thread: Proxy Advertising up to 58774 ms
GAP procedure initiated: stop advertising.
bt_mesh_proxy_adv_start: 
gatt_proxy_advertise: 
gatt_proxy_advertise: sub_count 1
gatt_proxy_advertise: Node ID active for 1276 ms, 58724 ms remaining
node_id_adv: 
GAP procedure initiated: advertise; disc_mode=2 adv_channel_map=0 own_addr_type=0 adv_filter_policy=0 adv_itvl_min=160 adv_itvl_max=240
gatt_proxy_advertise: Advertising 58724 ms for net_idx 0x0000
mesh_adv_thread: Proxy Advertising up to 58724 ms
bt_mesh_beacon_recv: 23 bytes: 00dddd68b6b33e25fe0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd68b6b33e25fe0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd68b6b33e25fe0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd68b6b33e25fe0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd308398dccf0a0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd308398dccf0a0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd308398dccf0a0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd308398dccf0a0000000000000000
bt_mesh_beacon_recv: 23 bytes: 00dddd308398dccf0a0000000000000000000000000000
unprovisioned_beacon_recv: uuid dddd308398dccf0a0000000000000000
gatt_connected: conn 24
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x10 0x01 0x00 0xff 0xff 0x00 0x28 
host tx hci data; handle=24 length=24
ble_hs_hci_acl_tx(): 0x18 0x00 0x18 0x00 0x14 0x00 0x04 0x00 0x11 0x06 0x01 0x00 0x05 0x00 0x00 0x18 0x06 0x00 0x0d 0x00 0x01 0x18 0x0e 0x00 0xff 0xff 0x28 0x18 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x01 0x00 0x05 0x00 0x02 0x28 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x08 0x01 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x01 0x00 0x05 0x00 0x03 0x28 
host tx hci data; handle=24 length=20
ble_hs_hci_acl_tx(): 0x18 0x00 0x14 0x00 0x10 0x00 0x04 0x00 0x09 0x07 0x02 0x00 0x02 0x03 0x00 0x00 0x2a 0x04 0x00 0x02 0x05 0x00 0x01 0x2a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x05 0x00 0x05 0x00 0x03 0x28 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x08 0x05 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x06 0x00 0x0d 0x00 0x02 0x28 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x08 0x06 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x06 0x00 0x0d 0x00 0x03 0x28 
host tx hci data; handle=24 length=27
ble_hs_hci_acl_tx(): 0x18 0x00 0x1b 0x00 0x17 0x00 0x04 0x00 0x09 0x07 0x07 0x00 0x20 0x08 0x00 0x05 0x2a 0x0a 0x00 0x02 0x0b 0x00 0x3a 0x2b 0x0c 0x00 0x0a 0x0d 0x00 0x29 0x2b 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x0d 0x00 0x0d 0x00 0x03 0x28 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x08 0x0d 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=9 data=0x05 0x00 0x04 0x00 0x04 0x09 0x00 0x09 0x00 
host tx hci data; handle=24 length=10
ble_hs_hci_acl_tx(): 0x18 0x00 0x0a 0x00 0x06 0x00 0x04 0x00 0x05 0x01 0x09 0x00 0x02 0x29 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x0e 0x00 0xff 0xff 0x02 0x28 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x08 0x0e 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x0e 0x00 0xff 0xff 0x03 0x28 
host tx hci data; handle=24 length=20
ble_hs_hci_acl_tx(): 0x18 0x00 0x14 0x00 0x10 0x00 0x04 0x00 0x09 0x07 0x0f 0x00 0x04 0x10 0x00 0xdd 0x2a 0x11 0x00 0x10 0x12 0x00 0xde 0x2a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=11 data=0x07 0x00 0x04 0x00 0x08 0x12 0x00 0xff 0xff 0x03 0x28 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x08 0x12 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=9 data=0x05 0x00 0x04 0x00 0x04 0x13 0x00 0xff 0xff 
host tx hci data; handle=24 length=10
ble_hs_hci_acl_tx(): 0x18 0x00 0x0a 0x00 0x06 0x00 0x04 0x00 0x05 0x01 0x13 0x00 0x02 0x29 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=9 data=0x05 0x00 0x04 0x00 0x04 0x14 0x00 0xff 0xff 
host tx hci data; handle=24 length=9
ble_hs_hci_acl_tx(): 0x18 0x00 0x09 0x00 0x05 0x00 0x04 0x00 0x01 0x04 0x14 0x00 0x0a 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=7 data=0x03 0x00 0x04 0x00 0x02 0x05 0x02 
host tx hci data; handle=24 length=7
ble_hs_hci_acl_tx(): 0x18 0x00 0x07 0x00 0x03 0x00 0x04 0x00 0x03 0x00 0x01 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=9 data=0x05 0x00 0x04 0x00 0x12 0x13 0x00 0x01 0x00 
proxy_ccc_write: conn_handle 24
host tx hci data; handle=24 length=5
ble_hs_hci_acl_tx(): 0x18 0x00 0x05 0x00 0x01 0x00 0x04 0x00 0x13 
bt_mesh_beacon_create: net_idx 0x0000 flags 0x00 NetID 875cd2eda774ed54
bt_mesh_beacon_create: IV Index 0x00000000 Auth 49464180a431ac5b
bt_mesh_proxy_msg_send: conn_handle 24 type 0x01 len 22: 0100875cd2eda774ed540000000049464180a431ac5b
proxy_send: 23 bytes: 010100875cd2eda774ed540000000049464180a431ac5b
GATT procedure initiated: notify; att_handle=18
host tx hci data; handle=24 length=30
ble_hs_hci_acl_tx(): 0x18 0x00 0x1e 0x00 0x1a 0x00 0x04 0x00 0x1b 0x12 0x00 0x01 0x01 0x00 0x87 0x5c 0xd2 0xed 0xa7 0x74 0xed 0x54 0x00 0x00 0x00 0x00 0x49 0x46 0x41 0x80 0xa4 0x31 0xac 0x5b 
notify_complete: 
ble_hs_hci_evt_acl_process(): conn_handle=24 pb=2 len=29 data=0x19 0x00 0x04 0x00 0x52 0x10 0x00 0x00 0x22 0x65 0xa1 0xed 0xe0 0xce 0x5a 0xea 0x49 0x28 0x1d 0xd0 0x12 0x84 0x80 0x32 0xc2 0x68 0xbe 0x7d 0x4c 
proxy_msg_recv: Mesh Network PDU
bt_mesh_net_recv: rssi 0 net_if 2
bt_mesh_net_decode: 21 bytes: 2265a1ede0ce5aea49281dd012848032c268be7d4c
bt_mesh_net_cred_find: 
net_decrypt: NID 0x22
net_decrypt: IVI 0 net->iv_index 0x00000000
bt_mesh_net_obfuscate: IVIndex 0, PrivacyKey e7f285680f32559c06eea95d6ec7d9db
bt_mesh_net_obfuscate: PrivacyRandom 000000000000000000ea49281dd01284
net_decrypt: src 0x0001
bt_mesh_net_decrypt: PDU (21 bytes) 22050003260001ea49281dd012848032c268be7d4c
bt_mesh_net_decrypt: iv_index 0, key f8697691c7183c70ea246f69edf7f218 mic_len 4
bt_mesh_net_decrypt: Nonce 00050003260001000000000000
bt_mesh_net_decode: Decryption successful. Payload len 17: 2205000326000100490027350f07a67152
bt_mesh_net_decode: src 0x0001 dst 0x0049 ttl 5
bt_mesh_net_decode: PDU: 2205000326000100490027350f07a67152
Segmentation fault

If its not what you are asking for, please tell me how to get backtrace logs. Here is log from dmesg

nimble-linux-bl[1850702]: segfault at c ip 00000000565cf4f8 sp 00000000f7242f00 error 4 in nimble-linux-blemesh[5658c000+71000]
[1439137.421123] Code: 0c 66 89 45 e4 8b 45 08 83 e8 28 89 45 f0 8b 45 f0 0f b7 00 0f b7 c0 50 e8 f7 ea ff ff 83 c4 04 89 45 f4 0f b7 55 e4 8b 45 f4 <0f> b6 40 0c 0f b6 c0 52 50 8d 83 64 96 fd ff 50 8d 83 58 94 fd ff

Thanks

sjanc commented 3 months ago

Hi,

I was able to reproduce this crash with Intel BT controller which uses high values for connection handles. I suspect your controller does the same.

This fix issue for me and I'm able to provision node with nRFMesh application.

https://github.com/apache/mynewt-nimble/pull/1751

chegewara commented 3 months ago

gatt_connected: conn 24

It does not seems to be high value, but i will try to test with your PR

Thanks

PS i can confirm, it is working now; thanks

sjanc commented 3 months ago

fix merged, thanks for testing!