Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BLE Mesh: Send Data at High Data Rate (Error: Out of network buffers) (IDFGH-13256) #14190

Closed
3 tasks done
Florian-ger opened this issue Jul 15, 2024 · 6 comments
Closed
3 tasks done
Assignees
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally

Comments

@Florian-ger
Copy link

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.

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:

uint8_t data[5] = {1, 2, 3, 4, 5};

for (int cycle = 0; cycle < 300; cycle++) {
    esp_ble_mesh_msg_ctx_t ctx = {0};
    ctx.net_idx = prov_key.net_idx;
    ctx.app_idx = prov_key.app_idx;
    ctx.addr = 0x00BE;
    ctx.send_ttl = 5;
    esp_ble_mesh_client_model_send_msg(vendor_client.model, &ctx, MODEL_OP_SEND, sizeof(data), data, 0, false, ROLE_NODE);
    vTaskDelay(10 / portTICK_PERIOD_MS);
}

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:

  • ESP-IDF version: v5.3 (also tested with v5.1.4)
  • ESP board: ESP32-C6-Dev-Kit-N8

sdkconfig.txt

@espressif-bot espressif-bot added the Status: Opened Issue is new label Jul 15, 2024
@github-actions github-actions bot changed the title BLE Mesh: Send Data at High Data Rate (Error: Out of network buffers) BLE Mesh: Send Data at High Data Rate (Error: Out of network buffers) (IDFGH-13256) Jul 15, 2024
@forx157
Copy link
Collaborator

forx157 commented Jul 17, 2024

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.

@Florian-ger
Copy link
Author

Florian-ger commented Jul 17, 2024

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.

@forx157
Copy link
Collaborator

forx157 commented Jul 18, 2024

@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

@Florian-ger
Copy link
Author

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

@forx157
Copy link
Collaborator

forx157 commented Jul 22, 2024

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.

@Florian-ger
Copy link
Author

Hi @forx157 ,
Thank you for you help.
It works now with the vendor example. I don't know what was wrong with my code

@espressif-bot espressif-bot added Status: Done Issue is done internally Resolution: Done Issue is done internally and removed Status: Opened Issue is new labels Jul 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolution: Done Issue is done internally Status: Done Issue is done internally
Projects
None yet
Development

No branches or pull requests

3 participants