ESP32-C3 - BLE Mesh Fast Prov - BT_OSI: osi_alarm_new alarm_cbs exhausted

Moderator: ESP_ZT

mm_1993
Posts: 65
Joined: Sat Aug 28, 2021 5:16 am

ESP32-C3 - BLE Mesh Fast Prov - BT_OSI: osi_alarm_new alarm_cbs exhausted

Postby mm_1993 » Mon Feb 27, 2023 12:08 pm

你好
我正在使用 ESP32-C3、ESP-IDF 和 esp32-c3-devkitm-1。 我运行了一个项目示例快速证明服务器示例,并添加了“Store BLE Mesh configuration persistently”以将加入的网络数据存储在 NVS 闪存中到项目中。
我的问题是在将节点加入网络后(我的客户端是 nRF Mesh 移动应用程序),一切正常,但是当我重置 ESP32 并想再次连接到它时,ESP32 重置。 而且我无法再次使用 nRF Mesh Mobile App 加入 ESP32。
所以我必须用一个按钮和这个函数清除 NVS 闪存:esp_ble_mesh_node_local_reset(); 再次执行加入过程。
重置错误是:
  • E (404909) BT_OSI: osi_alarm_new alarm_cbs exhausted


    assert failed: hash_map_set hash_map.c:129 (data != NULL)
    Core 0 register dump:
    MEPC : 0x403816be RA : 0x40389470 SP : 0x3fcb3490 GP : 0x3fc91000
    TP : 0x3fc80d9c T0 : 0x37363534 T1 : 0x7271706f T2 : 0x33323130
    S0/FP : 0x0000008e S1 : 0x00000001 A0 : 0x3fcb34cc A1 : 0x3fc928c1
    A2 : 0x00000001 A3 : 0x00000029 A4 : 0x00000001 A5 : 0x3fc9a000
    A6 : 0x7a797877 A7 : 0x76757473 S2 : 0x00000009 S3 : 0x3fcb35d9
    S4 : 0x3fc928c0 S5 : 0x3fcb38bc S6 : 0x00000000 S7 : 0x00000000
    S8 : 0x00000000 S9 : 0x00000000 S10 : 0x00000000 S11 : 0x00000000
    T3 : 0x6e6d6c6b T4 : 0x6a696867 T5 : 0x66656463 T6 : 0x62613938
    MSTATUS : 0x00001881 MTVEC : 0x40380001 MCAUSE : 0x00000007 MTVAL : 0x00000000
    MHARTID : 0x00000000

    Stack memory:
    3fcb3490: 0x00000000 0x3fcb38bc 0x3c0f6780 0x4038f1e2 0x3fc93118 0x3c0f6780 0x3fc933d4 0x3c0f6802
    3fcb34b0: 0x3fc93128 0x3fcb34c4 0x3fc9312c 0x3c0e4028 0x3fc928c0 0x00393231 0x3fc9dce4 0x65737361
    3fcb34d0: 0x66207472 0x656c6961 0x68203a64 0x5f687361 0x5f70616d 0x20746573 0x68736168 0x70616d5f
    ...
    ...
    ...
    ELF file SHA256: 19cc199fd03b8d83

    Rebooting...
    ESP-ROM:esp32c3-api1-20210207
    Build:Feb 7 2021
    rst:0x3 (RTC_SW_SYS_RST),boot:0xe (SPI_FAST_FLASH_BOOT)
    Saved PC:0x403812e0
    SPIWP:0xee
    mode:DIO, clock div:1
    load:0x3fcd5810,len:0x16b4
    load:0x403cc710,len:0x930
    load:0x403ce710,len:0x2d28
    entry 0x403cc710
    I (35) boot: ESP-IDF 4.4.2 2nd stage bootloader
    I (35) boot: compile time 14:51:41
    I (35) boot: chip revision: 3
    I (37) boot_comm: chip revision: 3, min. bootloader chip revision: 0
    I (44) boot.esp32c3: SPI Speed : 80MHz
    I (48) boot.esp32c3: SPI Mode : DIO
    I (53) boot.esp32c3: SPI Flash Size : 4MB
    I (58) boot: Enabling RNG early entropy source...
    I (63) boot: Partition Table:
    I (67) boot: ## Label Usage Type ST Offset Length
    I (74) boot: 0 nvs WiFi data 01 02 00009000 00006000
    I (82) boot: 1 phy_init RF data 01 01 0000f000 00001000
    I (89) boot: 2 factory factory app 00 00 00010000 00200000
    I (97) boot: End of partition table
    I (101) boot_comm: chip revision: 3, min. application chip revision: 0
    ...
    ...
    ...
    ...

    I (909) Mesh: init Bluetooth Mesh.
    W (1639) BLE_MESH: bt_mesh_proxy_server_prov_disable, Already
    I (1649) Mesh Prov: ESP_BLE_MESH_NODE_PROV_COMPLETE_EVT
    I (1649) Prov cmplt: net_index: 0x0000, addr: 0x007e
    I (1649) Prov cmplt: flags: 0x0000, iv_index: 0x00000000
    I (1659) Mesh Prov: ESP_BLE_MESH_PROV_REGISTER_COMP_EVT, Error Code: 0
    I (1669) Mesh Prov: ESP_BLE_MESH_NODE_SET_UNPROV_DEV_NAME_COMP_EVT, Error Code: 0

    E (1679) BT_OSI: osi_alarm_new alarm_cbs exhausted

    E (1679) BLE_MESH: Alarm not created
    W (1689) BLE_MESH: bt_mesh_prov_enable, Already
    I (1689) Mesh Prov: ESP_BLE_MESH_NODE_PROV_ENABLE_COMP_EVT, Error Code: -120

问候.

ESP_@In逍遥子
Posts: 132
Joined: Thu Nov 15, 2018 2:06 am

Re: ESP32-C3 - BLE Mesh Fast Prov - BT_OSI: osi_alarm_new alarm_cbs exhausted

Postby ESP_@In逍遥子 » Wed Mar 01, 2023 10:21 am

你可以手动改下 components/bt/common/osi/include/osi/alarm.h 文件中的 #define ALARM_CBS_NUM 50

增大这个 NUM。

Who is online

Users browsing this forum: No registered users and 7 guests