乐鑫技术交流
直播中

可口可甜

9年用户 898经验值
私信 关注
[问答]

ble_mesh_fast_prov_client在于server开始建立通讯时就提示Too short message for OpCode 0x00c702e5的原因?

请问ble_mesh_fast_prov_client在于ble_mesh_fast_prov_server开始建立通讯时就提示Too short message for OpCode 0x00c702e5
ble_mesh_fast_prov_client提示错误的那部分Log如下:Code: Select all
W (141170) FAST_PROV_CLIENT: example_fast_prov_client_recv_tim    : Receive fast prov server status timeoutI (141180) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_MODEL_SEND_COM    T, err_code 0E (141260) BLE_MESH: bt_mesh_model_recv, Too short message for    ode 0x00c702e5I (151180) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_CLIENT_MODEL_S    TIMEOUT_EVT, opcode 0xc602e5, dst 0x0005
详细的Log如下:
ble_mesh_fast_prov_client
Code: Select all
I (28) boot: ESP-IDF v4.0-dev-1191-g138c941-dirty 2nd stage bootloaderI (28) boot: compile time 09:41:03I (30) boot: Enabling RNG early entropy source...I (35) boot: SPI Speed      : 40MHzI (39) boot: SPI Mode       : DIOI (43) boot: SPI Flash Size : 4MBI (47) boot: Partition Table:I (51) boot: ## Label            Usage          Type ST Offset   LengthI (58) boot:  0 nvs              WiFi data        01 02 00009000 00006000I (65) boot:  1 phy_init         RF data          01 01 0000f000 00001000I (73) boot:  2 factory          factory app      00 00 00010000 00100000I (80) boot: End of partition tableI (85) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x2cc0c (183308) mapI (158) esp_image: segment 1: paddr=0x0003cc34 vaddr=0x3ffbdb60 size=0x033dc ( 13276) loadI (163) esp_image: segment 2: paddr=0x00040018 vaddr=0x400d0018 size=0x8eb64 (584548) map0x400d0018: _flash_cache_start at ??:?I (369) esp_image: segment 3: paddr=0x000ceb84 vaddr=0x3ffc0f3c size=0x00464 (  1124) loadI (370) esp_image: segment 4: paddr=0x000ceff0 vaddr=0x40080000 size=0x00400 (  1024) load0x40080000: _WindowOverflow4 at /home/ztc/esp/HuRong/esp_idf_4/esp-idf/components/freertos/xtensa_vectors.S:1778I (376) esp_image: segment 5: paddr=0x000cf3f8 vaddr=0x40080400 size=0x11b1c ( 72476) loadI (426) boot: Loaded app from partition at offset 0x10000I (426) boot: Disabling RNG early entropy source...I (426) cpu_start: Pro cpu up.I (430) cpu_start: Application information:I (435) cpu_start: Project name:     ble_mesh_fast_prov_clientI (441) cpu_start: App version:      v4.0-dev-1191-g138c941-dirtyI (448) cpu_start: Compile time:     Aug  5 2019 09:41:06I (454) cpu_start: ELF file SHA256:  5e6eda81a1567764...I (460) cpu_start: ESP-IDF:          v4.0-dev-1191-g138c941-dirtyI (467) cpu_start: Starting app cpu, entry point is 0x4008107c0x4008107c: call_start_cpu1 at /home/ztc/esp/HuRong/esp_idf_4/esp-idf/components/esp32/cpu_start.c:280I (0) cpu_start: App cpu up.I (477) heap_init: Initializing. RAM available for dynamic allocation:I (484) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAMI (490) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAMI (496) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAMI (502) heap_init: At 3FFBDB5C len 00000004 (0 KiB): DRAMI (508) heap_init: At 3FFCD2E8 len 00012D18 (75 KiB): DRAMI (514) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAMI (521) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAMI (527) heap_init: At 40091F1C len 0000E0E4 (56 KiB): IRAMI (533) cpu_start: Pro cpu start user codeI (552) spi_flash: detected chip: genericI (552) spi_flash: flash io: dioI (552) cpu_start: Starting scheduler on PRO CPU.I (0) cpu_start: Starting scheduler on APP CPU.I (560) FAST_PROV_CLIENT2_DEMO: Initializing...I (570) BTDM_INIT: BT controller compile version [4d3bde7]I (580) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSEI (670) phy: phy_version: 4100, 2a5dd04, Jan 23 2019, 21:00:07, 0, 0I (960) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_PROVISIONER_SET_DEV_UUID_MATCH_COMP_EVT, err_code: 0I (1050) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_PROV_REGISTER_COMP_EVT, err_code: 0I (1060) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_PROVISIONER_PROV_ENABLE_COMP_EVTI (1060) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_PROVISIONER_ADD_LOCAL_APP_KEY_COMP_EVT, err_code 0I (1070) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_PROVISIONER_BIND_APP_KEY_TO_MODEL_COMP_EVT, err_code 0I (1080) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_PROVISIONER_BIND_APP_KEY_TO_MODEL_COMP_EVT, err_code 0I (1080) FAST_PROV_CLIENT2_DEMO: BLE Mesh Provisioner initializedI (38300) FAST_PROV_CLIENT2_DEMO: address:  840d8e35c18e, address type: 0, adv type: 3I (38300) FAST_PROV_CLIENT2_DEMO: dev uuid: dddd840d8e35c18e0000000000000000I (38310) FAST_PROV_CLIENT2_DEMO: oob info: 0, bearer: PB-ADVI (38310) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_PROVISIONER_PROV_LINK_OPEN_EVT, bearer PB-ADVI (38320) FAST_PROV_CLIENT2_DEMO: PB-ADV link openI (38330) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_PROVISIONER_ADD_UNPROV_DEV_COMP_EVT, err_code: 0I (40180) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_PROVISIONER_PROV_COMPLETE_EVTI (40190) FAST_PROV_CLIENT2_DEMO: Node index: 0x0, unicast address: 0x05, element num: 1, netkey index: 0x00I (40190) FAST_PROV_CLIENT2_DEMO: Node uuid:  dddd840d8e35c18e0000000000000000I (40200) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_PROVISIONER_SET_NODE_NAME_COMP_EVT, err_code: 0I (40600) FAST_PROV_CLIENT2_DEMO: example_config_client_callback, error_code = 0x00, event = 0x01, addr: 0x0005I (40600) FAST_PROV_OP: min:       0x0006, max:        0x7fffI (40600) FAST_PROV_OP: flags:     0x00,   iv_index:   0x00000000I (40610) FAST_PROV_OP: net_idx:   0x0000, group_addr: 0xc000I (40620) FAST_PROV_OP: action:    0x81I (40620) FAST_PROV_OP: match_val: dd ddI (40630) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_MODEL_SEND_COMP_EVT, err_code 0client_2 端的opcode是0xc102e5I (41110) FAST_PROV_CLIENT2_DEMO: example_custom_model_callback: Fast Prov Client Model receives status, opcode 0xc102e5I (41120) fast prov client receives: 7f 00 00 00 00 00 00 00 00I (41120) fast prov info status: 7f 00 00 00 00 00 00 00 00I (42090) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_PROVISIONER_PROV_LINK_CLOSE_EVT, bearer PB-ADV reason 0x00I (42090) FAST_PROV_CLIENT2_DEMO: PB-ADV link close, reason 0x00I (101130) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_MODEL_SEND_COMP_EVT, err_code 0E (101240) BLE_MESH: bt_mesh_model_recv, Too short message for OpCode 0x00c702e5I (111130) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_CLIENT_MODEL_SEND_TIMEOUT_EVT, opcode 0xc602e5, dst 0x0005W (111130) FAST_PROV_CLIENT: example_fast_prov_client_recv_timeout: Receive fast prov server status timeoutI (111140) FAST_PROV_CLIENT2_DEMO: ESP_BLE_MESH_MODEL_SEND_COMP_EVT, err_code 0E (111230) BLE_MESH: bt_mesh_model_recv, Too short message for OpCode 0x00c702e5
ble_mesh_fast_prov_server中文部分注释是自己添加的Code: Select all
I (28) boot: ESP-IDF v4.0-dev-1191-g138c941-dirty 2nd stage bootloaderI (28) boot: compile time 09:17:54I (29) boot: Enabling RNG early entropy source...I (35) boot: SPI Speed      : 40MHzI (39) boot: SPI Mode       : DIOI (43) boot: SPI Flash Size : 4MBI (47) boot: Partition Table:I (50) boot: ## Label            Usage          Type ST Offset   LengthI (58) boot:  0 nvs              WiFi data        01 02 00009000 00006000I (65) boot:  1 phy_init         RF data          01 01 0000f000 00001000I (73) boot:  2 factory          factory app      00 00 00010000 00100000I (80) boot: End of partition tableI (84) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x3006c (196716) mapI (162) esp_image: segment 1: paddr=0x00040094 vaddr=0x3ffbdb60 size=0x03d24 ( 15652) loadI (168) esp_image: segment 2: paddr=0x00043dc0 vaddr=0x40080000 size=0x00400 (  1024) load0x40080000: _WindowOverflow4 at /home/ztc/esp/HuRong/esp_idf_4/esp-idf/components/freertos/xtensa_vectors.S:1778I (169) esp_image: segment 3: paddr=0x000441c8 vaddr=0x40080400 size=0x0be48 ( 48712) loadI (198) esp_image: segment 4: paddr=0x00050018 vaddr=0x400d0018 size=0x96194 (614804) map0x400d0018: _flash_cache_start at ??:?I (413) esp_image: segment 5: paddr=0x000e61b4 vaddr=0x4008c248 size=0x05cd4 ( 23764) load0x4008c248: bt_bb_init_cmplx at /home/qgu/git_tree/chip7.1_rtc/board_code/app_test/pp/rtc/bt_bb.c:288I (434) boot: Loaded app from partition at offset 0x10000I (435) boot: Disabling RNG early entropy source...I (435) cpu_start: Pro cpu up.I (439) cpu_start: Application information:I (443) cpu_start: Project name:     ble_mesh_fast_prov_serverI (450) cpu_start: App version:      v4.0-dev-1191-g138c941-dirtyI (457) cpu_start: Compile time:     Aug  5 2019 09:17:57I (463) cpu_start: ELF file SHA256:  77d0f0dd11545e92...I (469) cpu_start: ESP-IDF:          v4.0-dev-1191-g138c941-dirtyI (476) cpu_start: Starting app cpu, entry point is 0x4008107c0x4008107c: call_start_cpu1 at /home/ztc/esp/HuRong/esp_idf_4/esp-idf/components/esp32/cpu_start.c:280I (0) cpu_start: App cpu up.I (486) heap_init: Initializing. RAM available for dynamic allocation:I (493) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAMI (499) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAMI (505) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAMI (511) heap_init: At 3FFBDB5C len 00000004 (0 KiB): DRAMI (517) heap_init: At 3FFCFAA8 len 00010558 (65 KiB): DRAMI (523) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAMI (530) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAMI (536) heap_init: At 40091F1C len 0000E0E4 (56 KiB): IRAMI (542) cpu_start: Pro cpu start user codeI (561) spi_flash: detected chip: genericI (561) spi_flash: flash io: dioI (561) cpu_start: Starting scheduler on PRO CPU.I (0) cpu_start: Starting scheduler on APP CPU.I (569) FAST_PROV_SERVER_DEMO: Initializing...I (579) BTDM_INIT: BT controller compile version [4d3bde7]I (589) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSEI (679) phy: phy_version: 4100, 2a5dd04, Jan 23 2019, 21:00:07, 0, 0I (2429) FAST_PROV_SERVER_DEMO: ESP_BLE_MESH_PROV_REGISTER_COMP_EVT, err_code: 0I (2429) FAST_PROV_SERVER_DEMO: ESP_BLE_MESH_NODE_PROV_ENABLE_COMP_EVT, err_code: 0I (2439) FAST_PROV_SERVER_DEMO: BLE Mesh Fast Prov Node initializedI (2509) FAST_PROV_SERVER_DEMO: ESP_BLE_MESH_NODE_PROV_LINK_OPEN_EVT, bearer: PB-ADVI (4219) FAST_PROV_SERVER_DEMO: ESP_BLE_MESH_NODE_PROV_COMPLETE_EVTI (4219) FAST_PROV_SERVER_DEMO: net_idx: 0x0000, unicast_addr: 0x0005I (4219) FAST_PROV_SERVER_DEMO: flags: 0x00, iv_index: 0x00000000W (4229) BLE_MESH: Resending ackI (4469) FAST_PROV_SERVER_DEMO: ESP_BLE_MESH_NODE_PROV_LINK_CLOSE_EVT, bearer: PB-ADVI (4639) FAST_PROV_SERVER_DEMO: example_ble_mesh_config_server_cb, event = 0x00, opcode = 0x0000, addr: 0x0001I (4639) FAST_PROV_SERVER_DEMO: Config Server get Config AppKey Add进入example_ble_mesh_custom_model_cb函数I (4979) FAST_PROV_SERVER_DEMO: example_ble_mesh_custom_model_cb: Fast prov server receives msg, opcode 0xc002e5I (4979) fast prov server recv: 7f 03 64 00 06 00 ff 7f 00 00 00 00 00 00 00 00I (4989) fast prov server recv: c0 dd dd 81I (4999) FAST_PROV_SERVER_DEMO: ESP_BLE_MESH_SET_FAST_PROV_INFO_COMP_EVTI (4999) FAST_PROV_SERVER_DEMO: status_unicast: 0x00, status_net_idx: 0x00, status_match 0x00I (5009) FAST_PROV_SERVER_DEMO: ESP_BLE_MESH_SET_FAST_PROV_ACTION_COMP_EVT, status_action 0x00进入example_ble_mesh_custom_model_cb函数I (5029) FAST_PROV_SERVER_DEMO: ESP_BLE_MESH_MODEL_SEND_COMP_EVT, err_code 0I (5029) FAST_PROV_SERVER: example_handle_fast_prov_status_send_comp_evt: opcode 0xc102e5W (5039) FAST_PROV_SERVER: example_handle_fast_prov_status_send_comp_evt: Disable BLE Mesh Relay & GATT ProxyI (5049) FAST_PROV_SERVER_DEMO: ESP_BLE_MESH_NODE_PROXY_GATT_DISABLE_COMP_EVT进入example_ble_mesh_custom_model_cb函数I (65299) FAST_PROV_SERVER_DEMO: example_ble_mesh_custom_model_cb: Fast prov server receives msg, opcode 0xc602e5进入example_ble_mesh_custom_model_cb函数I (65309) FAST_PROV_SERVER_DEMO: ESP_BLE_MESH_MODEL_SEND_COMP_EVT, err_code 0I (65309) FAST_PROV_SERVER: example_handle_fast_prov_status_send_comp_evt: opcode 0xc702e5

回帖(1)

向日葵的花季

2024-6-26 17:22:41
根据您提供的错误日志,问题似乎出现在BLE Mesh快速配网客户端(ble_mesh_fast_prov_client)与快速配网服务器(ble_mesh_fast_prov_server)建立通信时。错误提示为 "Too short message for OpCode 0x00c702e5",这意味着接收到的消息长度不足以解析操作码(OpCode)。

以下是一些可能的原因和解决方案:

1. 数据包损坏:在通信过程中,数据包可能因为干扰或其他原因而损坏。请检查硬件连接和信号质量。

2. 消息长度不足:确保发送的消息长度符合预期。检查发送和接收的消息长度,确保它们满足协议要求。

3. 协议实现问题:检查BLE Mesh快速配网客户端和服务器的实现,确保它们遵循正确的协议规范。可能存在实现错误或不一致,导致消息解析失败。

4. 缓冲区大小问题:检查接收缓冲区的大小,确保它足够大以容纳接收到的消息。如果缓冲区太小,可能会导致消息被截断。

5. 消息发送和接收的同步问题:确保客户端和服务器之间的消息发送和接收是同步的。如果消息发送和接收不同步,可能会导致接收到的消息不完整。

6. 检查固件和软件版本:确保您使用的BLE Mesh客户端和服务器固件和软件版本兼容。不兼容的版本可能导致通信问题。

为了解决这个问题,您可以尝试以下步骤:

1. 仔细检查代码,确保发送和接收的消息长度正确。
2. 使用调试工具(如Wireshark)捕获通信过程,以便分析数据包结构和内容。
3. 检查硬件连接和信号质量,确保通信过程中没有干扰。
4. 确保BLE Mesh客户端和服务器实现遵循正确的协议规范。
5. 如果可能,请尝试更新固件和软件版本,以解决兼容性问题。

希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分