ESP-NOW encrypt with ESP32 peer (Arduino 3.x): silent no-recv on SoftAP ESP8266
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Quiet
- Tech stack
- arduino, cpp
- Domain
- embedded-iot, networking
Research direction
Start by reading the linked arduino-esp32 issue and the DRAKE_2_0_TAIL field notes, then reproduce the ESP32-to-ESP8266 SoftAP case using the shown esp_now_set_kok and esp_now_add_peer calls. Determine whether encrypted cross-chip ESP-NOW is supported; done means documenting the support status, encryption limitation or workaround, and the SoftAP-versus-STA MAC distinction.
Written by the indexing model from the issue text.
Description
Summary
Encrypted ESP-NOW between ESP32 (Arduino-ESP32 3.x) and ESP8266 SoftAP fails silently (no recv on 8266) even with matching PMK/LMK, same channel, and STA joined SoftAP. Unencrypted peers work on the same setup.
Full write-up + repro sketch shapes:
https://github.com/espressif/arduino-esp32/issues/12796
ESP8266 side (fail)
esp_now_set_kok((u8*)PMK, 16);
esp_now_add_peer(tail_mac, ESP_NOW_ROLE_COMBO, 2, (u8*)LMK, 16);
// recv_cb never called for encrypted frames from ESP32
Workaround
esp_now_add_peer(tail_mac, ESP_NOW_ROLE_COMBO, 2, NULL, 0); // no encrypt
Also document please
ESP8266 SoftAP MAC ≠ STA MAC (WiFi.softAPmacAddress() / client WiFi.BSSID() vs WiFi.macAddress()). Wrong peer MAC also looks like “ESP-NOW ready but dead.”
Asking: is encrypted ESP-NOW ESP32↔ESP8266 supported? If not, docs would save a lot of bench time.
Field notes: https://github.com/tmdrake/DRAKE_2_0_TAIL/blob/main/docs/ESPNOW_ENCRYPT_CROSS_CHIP_ISSUE.md
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 13.1k
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from esp8266/Arduino
-
Difficulty 1/5 Under an hour Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
-
Difficulty 3/5 1-2 days Newbie friendliness 65/100
-
[compiler Warnings]: Compile with `-Wconversion` and `-Wsign-conversion` brings up many WarningsOpen
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
plengauer/DXGIOutputDuplication#81 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
sudoevolve/EUI-NEO#80 ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Ryan-Millard/Img2Num#681 · 2 comments ·
Maintainers usually reply within 2 days
-
upstream update
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
conan-io/conan-center-index#31098 ·
Maintainers usually reply within 2 days