esp8266 / esp8266/Arduino

ESP-NOW encrypt with ESP32 peer (Arduino 3.x): silent no-recv on SoftAP ESP8266

Open
#9,322 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
16.7k
Forks
13.1k
PR merge metrics
No merged PRs in 30d

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)

```cpp
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

```cpp
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

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.