espressif / esp-idf

Espressif IoT Development Framework. Official development framework for Espressif SoCs.
Apache License 2.0
13.25k stars 7.19k forks source link

[ESP-WIFI-MESH] Mesh devices stop working when Root Node is in mesh sleep mode. (IDFGH-13271) #14202

Closed andy-danieal closed 1 month ago

andy-danieal commented 1 month ago

Answers checklist.

General issue report

The problem seems to be with the Root Node's sleep mode. If I Set SLEEP MODE on ROOT Node, then this issue occurs, but if Remove SLEEP MODE on ROOT Node, then devices work properly. Can anyone please help me understand what might be happening?

Note:- Only added sleep mode in Root Node.

Old code

ESP_ERROR_CHECK(esp_mesh_disable_ps());

New code

ESP_ERROR_CHECK(esp_mesh_enable_ps());

/ After Mesh esp_mesh_start() / ESP_ERROR_CHECK(esp_mesh_set_active_duty_cycle(50, MESH_PS_DEVICE_DUTY_REQUEST)); ESP_ERROR_CHECK(esp_mesh_set_network_duty_cycle(50, -1, MESH_PS_NETWORK_DUTY_APPLIED_ENTIRE));

zhangyanjiaoesp commented 1 month ago

@andy-danieal Do you enable PS on root device only? Or both root and node devices? what do you mean by saying stop working ? Can you provide a log to illustrate the problem ?

andy-danieal commented 1 month ago

@zhangyanjiaoesp

Do you enable PS on root device only? Or both root and node devices?

Yes, Enable PS ONLY on Root device.

what do you mean by saying stop working ? Can you provide a log to illustrate the problem ?

Not connected to Mesh network.

We have attached child node logs with Enable PS mode and Disable PS Mode Disable-PS-Child-Mode.log Enable-PS-Child-Mode.log

zhangyanjiaoesp commented 1 month ago

@andy-danieal When you enable the mesh PS on the root device, you should also enable the mesh PS on the node device, otherwise the node device can't find the root.

andy-danieal commented 1 month ago

@zhangyanjiaoesp mentioned in the comments that enabling mesh PS on the root device also requires enabling mesh PS on the child node device. This is not mentioned in the ESP-WIFI-MESH documentation.

Could you please explain Why is this happening?

zhangyanjiaoesp commented 1 month ago

@andy-danieal When the node device receive the mesh AP's beacon, it will check the mesh PS state, only when both the mesh AP and myself support mesh PS, or neither supports mesh PS, a mesh network can be formed. we will update the mesh documentation.