Closed Florian-ger closed 1 month ago
Hi, @Florian-ger
Evaluating the BLE rate with BLE Mesh is not accurate because BLE Mesh by default retransmits a broadcast packet twice at 20-30ms intervals, which means a broadcast packet will take up about 60-90ms, which is also the reason why when you use 10ms interval to advertising the data, you will get the message BLE_MESH: Out of network buffers
.
Hi @forx157,
Thank you for your response.
By retransmission of packets, do you mean the net_transmit
setting in the configuration server? I have set the network retransmit count to 0 there. Additionally, I only send the packets to a unicast address (0x00BE, the server). Shouldn't it be quicker then?
I understand that achieving a transmission rate of 100 kbps is not possible, but I thought that sending packets would be much faster than a 100 ms delay.
@Florian-ger I have tested it as you explained and there is no abnormality, can you share your test log with us after changing the log level of BLE Mesh to INFO level?
You can change the log level of BLE Mesh in menuconfig by following the path below:
(Top) → Component config → ESP BLE Mesh Support → BLE Mesh STACK DEBUG LOG LEVEL
If I set the BLE Mesh Stack Debug Log Level to Info, the program stops after 38 sent messages and does not print any further information on the serial monitor:
I (23) boot: ESP-IDF v5.3-rc1-dirty 2nd stage bootloader
I (24) boot: compile time Jul 19 2024 10:39:53
I (24) boot: chip revision: v0.0
I (27) boot.esp32c6: SPI Speed : 80MHz
I (32) boot.esp32c6: SPI Mode : DIO
I (37) boot.esp32c6: SPI Flash Size : 2MB
I (41) boot: Enabling RNG early entropy source...
I (47) boot: Partition Table:
I (50) boot: ## Label Usage Type ST Offset Length
I (58) boot: 0 nvs WiFi data 01 02 00009000 00006000
I (65) boot: 1 phy_init RF data 01 01 0000f000 00001000
I (73) boot: 2 factory factory app 00 00 00010000 00177000
I (80) boot: End of partition table
I (84) esp_image: segment 0: paddr=00010020 vaddr=420e8020 size=3b204h (242180) map
I (143) esp_image: segment 1: paddr=0004b22c vaddr=40800000 size=04dech ( 19948) load
I (148) esp_image: segment 2: paddr=00050020 vaddr=42000020 size=e32d8h (930520) map
I (341) esp_image: segment 3: paddr=00133300 vaddr=40804dec size=0d244h ( 53828) load
I (354) esp_image: segment 4: paddr=0014054c vaddr=40812030 size=02894h ( 10388) load
I (361) boot: Loaded app from partition at offset 0x10000
I (362) boot: Disabling RNG early entropy source...
I (374) cpu_start: Unicore app
I (383) cpu_start: Pro cpu start user code
I (383) cpu_start: cpu freq: 160000000 Hz
I (384) app_init: Application information:
I (386) app_init: Project name: ble-mesh
I (392) app_init: App version: 1
I (396) app_init: Compile time: Jul 19 2024 10:52:00
I (402) app_init: ELF file SHA256: 147875c38...
I (407) app_init: ESP-IDF: v5.3-rc1-dirty
I (413) efuse_init: Min chip rev: v0.0
I (418) efuse_init: Max chip rev: v0.99
I (422) efuse_init: Chip rev: v0.0
I (427) heap_init: Initializing. RAM available for dynamic allocation:
I (434) heap_init: At 4081E800 len 0005DE10 (375 KiB): RAM
I (441) heap_init: At 4087C610 len 00002F54 (11 KiB): RAM
I (447) heap_init: At 50000000 len 00003FE8 (15 KiB): RTCRAM
I (454) spi_flash: detected chip: generic
I (458) spi_flash: flash io: dio
W (462) spi_flash: Detected size(8192k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (475) sleep: Configure to isolate all GPIO pins in sleep state
I (482) sleep: Enable automatic switching of GPIO sleep configuration
I (489) main_task: Started on CPU0
I (503) main_task: Calling app_main()
I (503) MAIN: Initializing...
I (515) BLE_INIT: Using main XTAL as clock source
I (520) BLE_INIT: ble controller commit:[392c824]
I (520) phy_init: phy_version 310,dde1ba9,Jun 4 2024,16:38:11
I (583) phy: libbtbb version: 04952fd, Jun 4 2024, 16:38:26
I (597) BT: Tx power level: -15 dBm
I (597) BT: Bluetooth address: ca:44:63:32:20:00
Bluetooth Mesh v1.1 commit: [10f7fdc1a9]
I (600) BLE_MESH: Relay not supported
I (603) BLE_MESH: Friend not supported
W (663) BLE_MESH: bt_mesh_init, Already
I (668) MESH_CLIENT: ESP_BLE_MESH_NODE_PROV_ENABLE_COMP_EVT, err_code 0
I (669) MESH_CLIENT: BLE Mesh Node initialized
I (670) main_task: Returned from app_main()
I (3446) MESH_CLIENT: ESP_BLE_MESH_NODE_PROV_LINK_OPEN_EVT, bearer PB-GATT
I (5056) BLE_MESH: Algorithm: 0x00
I (5057) BLE_MESH: Public Key: 0x00
I (5057) BLE_MESH: Auth Method: 0x00
I (5058) BLE_MESH: Auth Action: 0x00
I (5063) BLE_MESH: Auth Size: 0x00
I (5327) BLE_MESH: Remote Random: 2cfa5ad3284ee02c4794c5971c5ee3ea
I (5420) BLE_MESH: Primary Element: 0x0175
I (5421) BLE_MESH: net_idx 0x0000 flags 0x00 iv_index 0x0000
I (5421) BLE_MESH: DevKey 707bab896b6fdd2793dc143aa4ad9bf1
I (5427) BLE_MESH: NetKey e427375652ba99568242d7cfc532fdaf
I (5437) BLE_MESH: Primary address 0x0175, element count 1
I (5440) BLE_MESH: Scan is already started
I (5452) MESH_CLIENT: ESP_BLE_MESH_NODE_PROV_LINK_CLOSE_EVT, bearer PB-GATT
I (5452) MESH_CLIENT: ESP_BLE_MESH_NODE_PROV_COMPLETE_EVT
I (5458) MESH_CLIENT: net_idx: 0x0000, addr: 0x0175
I (5463) MESH_CLIENT: flags: 0x00, iv_index: 0x00000000
W (6541) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x13
W (6544) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x13
I (11447) BLE_MESH: Add client or filter addr 0x0001
I (11448) BLE_MESH: recv, app_idx 0xfffe src 0x0001 dst 0x0175
I (11449) BLE_MESH: recv, len 3: 800800
I (11453) BLE_MESH: send, app_idx 0xfffe src 0x0175 dst 0x0001
I (11460) BLE_MESH: send, len 24: 0200e502000000000a0002000000020100000100e5020000
I (11468) BLE_MESH: Seg, send_tag 0x03, send_szmic 0, aszmic 0
I (11475) BLE_MESH: Use security credentials 0x00, proxy 0
I (11481) BLE_MESH: Network PDU, count 0, interval 10
I (11486) BLE_MESH: Use security credentials 0x00, proxy 0
I (11494) BLE_MESH: Network PDU, count 0, interval 10
I (11498) BLE_MESH: Use security credentials 0x00, proxy 0
I (11505) BLE_MESH: Network PDU, count 0, interval 10
I (11583) BLE_MESH: Seg 0/2 acked
I (11584) BLE_MESH: Seg 1/2 acked
I (11584) BLE_MESH: Seg 2/2 acked
I (11640) BLE_MESH: Attempts: 3
I (11988) BLE_MESH: No matching TX context for Seg Ack
I (12078) BLE_MESH: recv, app_idx 0xfffe src 0x0001 dst 0x0175
I (12078) BLE_MESH: recv, len 2: 800c
I (12079) BLE_MESH: send, app_idx 0xfffe src 0x0175 dst 0x0001
I (12085) BLE_MESH: send, len 3: 800e05
I (12089) BLE_MESH: Unseg, send_tag 0x02, send_szmic 0, aszmic 0
I (12096) BLE_MESH: Use security credentials 0x00, proxy 0
I (12102) BLE_MESH: Network PDU, count 0, interval 10
I (13697) BLE_MESH: recv, app_idx 0xfffe src 0x0001 dst 0x0175
I (13698) BLE_MESH: recv, len 3: 80240a
I (13698) BLE_MESH: send, app_idx 0xfffe src 0x0175 dst 0x0001
I (13704) BLE_MESH: send, len 3: 80250a
I (13709) BLE_MESH: Unseg, send_tag 0x02, send_szmic 0, aszmic 0
I (13716) BLE_MESH: Use security credentials 0x00, proxy 0
I (13722) BLE_MESH: Network PDU, count 2, interval 20
I (15364) BLE_MESH: Seg 0/1 received
I (15365) BLE_MESH: Seg 1/1 received
I (15365) BLE_MESH: Use security credentials 0x00, proxy 0
I (15368) BLE_MESH: Network PDU, count 2, interval 20
I (15373) BLE_MESH: recv, app_idx 0xfffe src 0x0001 dst 0x0175
I (15381) BLE_MESH: recv, len 20: 00000000720129303d4f21546b6d07c676bc0c7b
I (15388) BLE_MESH: send, app_idx 0xfffe src 0x0175 dst 0x0001
I (15394) BLE_MESH: send, len 6: 800300000000
I (15399) BLE_MESH: Unseg, send_tag 0x02, send_szmic 0, aszmic 0
I (15406) BLE_MESH: Use security credentials 0x00, proxy 0
I (15412) BLE_MESH: Network PDU, count 2, interval 20
I (15420) MESH_CLIENT: ESP_BLE_MESH_MODEL_OP_APP_KEY_ADD
I (15423) MESH_CLIENT: net_idx 0x0000, app_idx 0x0000
I (15429) AppKey: 72 01 29 30 3d 4f 21 54 6b 6d 07 c6 76 bc 0c 7b
I (21079) BLE_MESH: Seg 0/1 received
I (21080) BLE_MESH: Seg 1/1 received
I (21080) BLE_MESH: Use security credentials 0x00, proxy 0
I (21083) BLE_MESH: Network PDU, count 2, interval 20
I (21088) BLE_MESH: recv, app_idx 0xfffe src 0x0001 dst 0x0175
I (21095) BLE_MESH: recv, len 10: 803d75010000e5020000
I (21101) BLE_MESH: bind app key 0 on mode 0x2e5
I (21106) BLE_MESH: send, app_idx 0xfffe src 0x0175 dst 0x0001
I (21112) BLE_MESH: send, len 11: 803e0075010000e5020000
I (21118) BLE_MESH: Unseg, send_tag 0x02, send_szmic 0, aszmic 0
I (21125) BLE_MESH: Use security credentials 0x00, proxy 0
I (21131) BLE_MESH: Network PDU, count 2, interval 20
I (21140) MESH_CLIENT: ESP_BLE_MESH_MODEL_OP_MODEL_APP_BIND
I (21143) MESH_CLIENT: elem_addr 0x0175, app_idx 0x0000, cid 0x02e5, mod_id 0x0000
I (23151) MESH_SEND: Start sending.
I (23151) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23152) BLE_MESH: send, len 8: c0e50200000000ff
I (23156) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23163) BLE_MESH: Use security credentials 0x00, proxy 0
I (23169) BLE_MESH: Network PDU, count 2, interval 20
I (23178) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23181) BLE_MESH: send, len 8: c0e50200000001ff
I (23186) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23193) BLE_MESH: Use security credentials 0x00, proxy 0
I (23199) BLE_MESH: Network PDU, count 2, interval 20
I (23205) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23211) BLE_MESH: send, len 8: c0e50200000002ff
I (23217) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23224) BLE_MESH: Use security credentials 0x00, proxy 0
I (23230) BLE_MESH: Network PDU, count 2, interval 20
I (23235) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23242) BLE_MESH: send, len 8: c0e50200000003ff
I (23247) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23254) BLE_MESH: Use security credentials 0x00, proxy 0
I (23260) BLE_MESH: Network PDU, count 2, interval 20
I (23266) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23272) BLE_MESH: send, len 8: c0e50200000004ff
I (23278) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23285) BLE_MESH: Use security credentials 0x00, proxy 0
I (23291) BLE_MESH: Network PDU, count 2, interval 20
I (23296) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23303) BLE_MESH: send, len 8: c0e50200000005ff
I (23308) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23315) BLE_MESH: Use security credentials 0x00, proxy 0
I (23321) BLE_MESH: Network PDU, count 2, interval 20
I (23327) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23333) BLE_MESH: send, len 8: c0e50200000006ff
I (23339) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23346) BLE_MESH: Use security credentials 0x00, proxy 0
I (23352) BLE_MESH: Network PDU, count 2, interval 20
I (23357) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23365) BLE_MESH: send, len 8: c0e50200000007ff
I (23369) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23376) BLE_MESH: Use security credentials 0x00, proxy 0
I (23382) BLE_MESH: Network PDU, count 2, interval 20
I (23388) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23394) BLE_MESH: send, len 8: c0e50200000008ff
I (23399) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23406) BLE_MESH: Use security credentials 0x00, proxy 0
I (23412) BLE_MESH: Network PDU, count 2, interval 20
I (23418) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23425) BLE_MESH: send, len 8: c0e50200000009ff
I (23430) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23437) BLE_MESH: Use security credentials 0x00, proxy 0
I (23443) BLE_MESH: Network PDU, count 2, interval 20
I (23449) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23458) BLE_MESH: send, len 8: c0e5020000000aff
I (23461) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23468) BLE_MESH: Use security credentials 0x00, proxy 0
I (23473) BLE_MESH: Network PDU, count 2, interval 20
I (23479) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23485) BLE_MESH: send, len 8: c0e5020000000bff
I (23491) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23498) BLE_MESH: Use security credentials 0x00, proxy 0
I (23504) BLE_MESH: Network PDU, count 2, interval 20
I (23510) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23516) BLE_MESH: send, len 8: c0e5020000000cff
I (23521) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23528) BLE_MESH: Use security credentials 0x00, proxy 0
I (23534) BLE_MESH: Network PDU, count 2, interval 20
I (23541) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23546) BLE_MESH: send, len 8: c0e5020000000dff
I (23554) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23559) BLE_MESH: Use security credentials 0x00, proxy 0
I (23565) BLE_MESH: Network PDU, count 2, interval 20
I (23570) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23577) BLE_MESH: send, len 8: c0e5020000000eff
I (23583) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23589) BLE_MESH: Use security credentials 0x00, proxy 0
I (23595) BLE_MESH: Network PDU, count 2, interval 20
I (23601) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23607) BLE_MESH: send, len 8: c0e5020000000fff
I (23613) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23620) BLE_MESH: Use security credentials 0x00, proxy 0
I (23626) BLE_MESH: Network PDU, count 2, interval 20
I (23631) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23638) BLE_MESH: send, len 8: c0e50200000010ff
I (23646) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23650) BLE_MESH: Use security credentials 0x00, proxy 0
I (23656) BLE_MESH: Network PDU, count 2, interval 20
I (23662) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23669) BLE_MESH: send, len 8: c0e50200000011ff
I (23674) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23681) BLE_MESH: Use security credentials 0x00, proxy 0
I (23687) BLE_MESH: Network PDU, count 2, interval 20
I (23692) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23699) BLE_MESH: send, len 8: c0e50200000012ff
I (23704) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23711) BLE_MESH: Use security credentials 0x00, proxy 0
I (23717) BLE_MESH: Network PDU, count 2, interval 20
I (23723) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23729) BLE_MESH: send, len 8: c0e50200000013ff
I (23735) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23742) BLE_MESH: Use security credentials 0x00, proxy 0
I (23748) BLE_MESH: Network PDU, count 2, interval 20
I (23753) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23760) BLE_MESH: send, len 8: c0e50200000014ff
I (23765) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23772) BLE_MESH: Use security credentials 0x00, proxy 0
I (23778) BLE_MESH: Network PDU, count 2, interval 20
I (23784) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23790) BLE_MESH: send, len 8: c0e50200000015ff
I (23796) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23802) BLE_MESH: Use security credentials 0x00, proxy 0
I (23809) BLE_MESH: Network PDU, count 2, interval 20
I (23814) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23821) BLE_MESH: send, len 8: c0e50200000016ff
I (23826) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23834) BLE_MESH: Use security credentials 0x00, proxy 0
I (23840) BLE_MESH: Network PDU, count 2, interval 20
I (23845) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23851) BLE_MESH: send, len 8: c0e50200000017ff
I (23856) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23863) BLE_MESH: Use security credentials 0x00, proxy 0
I (23870) BLE_MESH: Network PDU, count 2, interval 20
I (23875) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23881) BLE_MESH: send, len 8: c0e50200000018ff
I (23887) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23894) BLE_MESH: Use security credentials 0x00, proxy 0
I (23900) BLE_MESH: Network PDU, count 2, interval 20
I (23906) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23912) BLE_MESH: send, len 8: c0e50200000019ff
I (23917) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23928) BLE_MESH: Use security credentials 0x00, proxy 0
I (23930) BLE_MESH: Network PDU, count 2, interval 20
I (23936) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23942) BLE_MESH: send, len 8: c0e5020000001aff
I (23948) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23955) BLE_MESH: Use security credentials 0x00, proxy 0
I (23961) BLE_MESH: Network PDU, count 2, interval 20
I (23967) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (23973) BLE_MESH: send, len 8: c0e5020000001bff
I (23978) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (23985) BLE_MESH: Use security credentials 0x00, proxy 0
I (23991) BLE_MESH: Network PDU, count 2, interval 20
I (23997) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (24003) BLE_MESH: send, len 8: c0e5020000001cff
I (24009) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (24016) BLE_MESH: Use security credentials 0x00, proxy 0
I (24022) BLE_MESH: Network PDU, count 2, interval 20
I (24027) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (24034) BLE_MESH: send, len 8: c0e5020000001dff
I (24039) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (24046) BLE_MESH: Use security credentials 0x00, proxy 0
I (24052) BLE_MESH: Network PDU, count 2, interval 20
I (24058) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (24064) BLE_MESH: send, len 8: c0e5020000001eff
I (24070) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (24078) BLE_MESH: Use security credentials 0x00, proxy 0
I (24083) BLE_MESH: Network PDU, count 2, interval 20
I (24088) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (24095) BLE_MESH: send, len 8: c0e5020000001fff
I (24100) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (24107) BLE_MESH: Use security credentials 0x00, proxy 0
I (24114) BLE_MESH: Network PDU, count 2, interval 20
I (24119) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (24125) BLE_MESH: send, len 8: c0e50200000020ff
I (24131) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (24138) BLE_MESH: Use security credentials 0x00, proxy 0
I (24144) BLE_MESH: Network PDU, count 2, interval 20
I (24149) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (24156) BLE_MESH: send, len 8: c0e50200000021ff
I (24161) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (24168) BLE_MESH: Use security credentials 0x00, proxy 0
I (24174) BLE_MESH: Network PDU, count 2, interval 20
I (24180) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (24186) BLE_MESH: send, len 8: c0e50200000022ff
I (24192) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (24199) BLE_MESH: Use security credentials 0x00, proxy 0
I (24208) BLE_MESH: Network PDU, count 2, interval 20
I (24210) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (24217) BLE_MESH: send, len 8: c0e50200000023ff
I (24222) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (24229) BLE_MESH: Use security credentials 0x00, proxy 0
I (24235) BLE_MESH: Network PDU, count 2, interval 20
I (24241) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (24247) BLE_MESH: send, len 8: c0e50200000024ff
I (24252) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (24259) BLE_MESH: Use security credentials 0x00, proxy 0
I (24266) BLE_MESH: Network PDU, count 2, interval 20
I (24271) BLE_MESH: send, app_idx 0x0000 src 0x0175 dst 0x00be
I (24278) BLE_MESH: send, len 8: c0e50200000025ff
I (24283) BLE_MESH: Unseg, send_tag 0x00, send_szmic 0, aszmic 0
I (24290) BLE_MESH: Use security credentials 0x00, proxy 0
I (24296) BLE_MESH: Network PDU, count 2, interval 20
If I leave the debug log level on Warning, the server receives a total of 288 messages and the output looks like this:
I (23) boot: ESP-IDF v5.3-rc1-dirty 2nd stage bootloader
I (24) boot: compile time Jul 19 2024 10:39:53
I (24) boot: chip revision: v0.0
I (27) boot.esp32c6: SPI Speed : 80MHz
I (32) boot.esp32c6: SPI Mode : DIO
I (37) boot.esp32c6: SPI Flash Size : 2MB
I (41) boot: Enabling RNG early entropy source...
I (47) boot: Partition Table:
I (50) boot: ## Label Usage Type ST Offset Length
I (58) boot: 0 nvs WiFi data 01 02 00009000 00006000
I (65) boot: 1 phy_init RF data 01 01 0000f000 00001000
I (73) boot: 2 factory factory app 00 00 00010000 00177000
I (80) boot: End of partition table
I (84) esp_image: segment 0: paddr=00010020 vaddr=420e8020 size=39e84h (237188) map
I (142) esp_image: segment 1: paddr=00049eac vaddr=40800000 size=0616ch ( 24940) load
I (148) esp_image: segment 2: paddr=00050020 vaddr=42000020 size=e20e8h (925928) map
I (340) esp_image: segment 3: paddr=00132110 vaddr=4080616c size=0bf40h ( 48960) load
I (352) esp_image: segment 4: paddr=0013e058 vaddr=408120b0 size=02894h ( 10388) load
I (360) boot: Loaded app from partition at offset 0x10000
I (360) boot: Disabling RNG early entropy source...
I (372) cpu_start: Unicore app
I (381) cpu_start: Pro cpu start user code
I (382) cpu_start: cpu freq: 160000000 Hz
I (382) app_init: Application information:
I (384) app_init: Project name: ble-mesh
I (390) app_init: App version: 1
I (394) app_init: Compile time: Jul 19 2024 11:22:53
I (400) app_init: ELF file SHA256: 678e14e68...
I (405) app_init: ESP-IDF: v5.3-rc1-dirty
I (411) efuse_init: Min chip rev: v0.0
I (416) efuse_init: Max chip rev: v0.99
I (421) efuse_init: Chip rev: v0.0
I (426) heap_init: Initializing. RAM available for dynamic allocation:
I (433) heap_init: At 4081E880 len 0005DD90 (375 KiB): RAM
I (439) heap_init: At 4087C610 len 00002F54 (11 KiB): RAM
I (445) heap_init: At 50000000 len 00003FE8 (15 KiB): RTCRAM
I (452) spi_flash: detected chip: generic
I (456) spi_flash: flash io: dio
W (460) spi_flash: Detected size(8192k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (473) sleep: Configure to isolate all GPIO pins in sleep state
I (480) sleep: Enable automatic switching of GPIO sleep configuration
I (487) main_task: Started on CPU0
I (501) main_task: Calling app_main()
I (501) MAIN: Initializing...
I (513) BLE_INIT: Using main XTAL as clock source
I (518) BLE_INIT: ble controller commit:[392c824]
I (518) phy_init: phy_version 310,dde1ba9,Jun 4 2024,16:38:11
W (574) phy_init: saving new calibration data because of checksum failure, mode(0)
I (591) phy: libbtbb version: 04952fd, Jun 4 2024, 16:38:26
I (605) BT: Tx power level: -15 dBm
I (605) BT: Bluetooth address: ca:44:63:32:20:00
Bluetooth Mesh v1.1 commit: [10f7fdc1a9]
W (664) BLE_MESH: bt_mesh_init, Already
I (670) MESH_CLIENT: ESP_BLE_MESH_NODE_PROV_ENABLE_COMP_EVT, err_code 0
I (671) MESH_CLIENT: BLE Mesh Node initialized
I (672) main_task: Returned from app_main()
I (3879) MESH_CLIENT: ESP_BLE_MESH_NODE_PROV_LINK_OPEN_EVT, bearer PB-GATT
I (6273) MESH_CLIENT: ESP_BLE_MESH_NODE_PROV_LINK_CLOSE_EVT, bearer PB-GATT
I (6274) MESH_CLIENT: ESP_BLE_MESH_NODE_PROV_COMPLETE_EVT
I (6276) MESH_CLIENT: net_idx: 0x0000, addr: 0x0175
I (6282) MESH_CLIENT: flags: 0x00, iv_index: 0x00000000
W (7376) BT_APPL: gattc_conn_cb: if=4 st=0 id=4 rsn=0x13
W (7379) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x13
I (16254) MESH_CLIENT: ESP_BLE_MESH_MODEL_OP_APP_KEY_ADD
I (16254) MESH_CLIENT: net_idx 0x0000, app_idx 0x0000
I (16255) AppKey: 72 01 29 30 3d 4f 21 54 6b 6d 07 c6 76 bc 0c 7b
I (22101) MESH_CLIENT: ESP_BLE_MESH_MODEL_OP_MODEL_APP_BIND
I (22101) MESH_CLIENT: elem_addr 0x0175, app_idx 0x0000, cid 0x02e5, mod_id 0x0000
I (24105) MESH_SEND: Start sending.
E (26977) BLE_MESH: Out of network buffers
E (26977) BLE_MESH: Failed to send client message 0x00c002e5
E (26987) BLE_MESH: Out of network buffers
E (26988) BLE_MESH: Failed to send client message 0x00c002e5
E (27008) BLE_MESH: Out of network buffers
E (27008) BLE_MESH: Failed to send client message 0x00c002e5
E (27018) BLE_MESH: Out of network buffers
E (27021) BLE_MESH: Failed to send client message 0x00c002e5
E (27028) BLE_MESH: Out of network buffers
E (27033) BLE_MESH: Failed to send client message 0x00c002e5
E (27045) BLE_MESH: Out of network buffers
E (27050) BLE_MESH: Failed to send client message 0x00c002e5
E (27062) BLE_MESH: Out of network buffers
E (27067) BLE_MESH: Failed to send client message 0x00c002e5
E (27079) BLE_MESH: Out of network buffers
E (27083) BLE_MESH: Failed to send client message 0x00c002e5
E (27096) BLE_MESH: Out of network buffers
E (27100) BLE_MESH: Failed to send client message 0x00c002e5
E (27107) BLE_MESH: Out of network buffers
I (27108) MESH_SEND: Stop sending.
E (27115) BLE_MESH: Failed to send client message 0x00c002e5
E (27128) BLE_MESH: Out of network buffers
E (27132) BLE_MESH: Failed to send client message 0x00c002e5
Hi, @Florian-ger Since I can't reproduce your results on my end, I need to trouble you to do some more testing: You can use the code in example/bluetooth/esp_ble_mesh/vendor_model to test if you can complete the advertising of 300 messages, if the test fails, please share the INFO level log with me.
Secondly can you easily tell me what you did in your test code? Or is there any way in which I can reproduce the problem you are having.
Hi @forx157 , Thank you for you help. It works now with the vendor example. I don't know what was wrong with my code
Answers checklist.
General issue report
Hello everyone,
I want to send data at a high data rate over BLE mesh. Theoretically, BLE mesh supports a data rate of 2 Mbps when using the 2M PHY. The practical rate is, of course, lower, but in my application, I can't even achieve a data rate of 1 kbps. The data packets with a size of 7 bytes are sent in the following loop with a delay of 10 ms, which corresponds to a data rate of approximately 0.7-1 kbps. (The transmission works with a delay of 100 ms and there is no error message)
Code Example:
Issue:
When sending 300 packets, I receive the error message after 256 packets:
BLE_MESH: Out of network buffers
. I have set the network buffers to the maximum value of 256 in the sdkconfig. This means that the network buffer is not being emptied quickly enough or the data is not being sent quickly enough. How can I configure my sdkconfig or code to achieve a higher data rate? What is the maximum transmission rate of the ESP32-C6?Environment:
sdkconfig.txt