## ESP32-C5:混杂模式回调的帧类型分类与 802.11 标准不符
**芯片:** ESP32-C5
**IDF 版本:** v5.4.2
**配置:** STA+AP 双芯片,5GHz Ch40,802.11n HT20
---
### 问题描述
混杂模式回调 `esp_wifi_set_promiscuous_rx_cb` 中传入的 `wifi_promiscuous_pkt_type_t type` 参数与实际 802.11 Frame Control 字段的帧类型不一致。
通过手动解析 FC 字段 `(payload[0] >> 2) & 0x03` 获取真实 802.11 类型,与驱动传入的 type 做对比后发现:
- **ACK 帧**:FC 字段 Type=Control,驱动报告为 WIFI_PKT_MGMT
- **esp_wifi_80211_tx() 发送的 Data 帧**:FC 字段 Type=Data,驱动非确定性地报告为 WIFI_PKT_MGMT(同一类型帧,第一次正确,后续错误)
CSI 子系统不受影响。
---
### 复现方式
两块 C5,一块 STA、一块 AP。STA 通过 esp_wifi_80211_tx 每秒发一帧非 QoS Data 帧给 AP,AP 在 SIFS 回复 ACK。
两端开启混杂模式:WIFI_PROMIS_FILTER_MASK_ALL,在回调中同步打印驱动的 type 和从 payload 解析的 FC type 做对比。
---
### 日志对比
Alice 端收到 ACK:
drv=MGMT, fc=CTRL(应为 CTRL)
Bob 端收到 Data 帧:
第 N 帧 drv=DATA, fc=DATA(正确)
第 N+1 帧起 drv=MGMT, fc=DATA(错误)
---
### 影响
esp_wifi_set_promiscuous_filter 的类型掩码(DATA/CTRL/MGMT)无法可靠工作,因为帧在错误的类别下通过。目前只能用 MASK_ALL + 手动解析 FC 字段绕过。
---
### 请教
这是 C5 的已知问题吗?是否有其他 API 或配置可以纠正?后续版本是否有修复计划?谢谢。
ESP32-C5:混杂模式回调的帧类型分类与 802.11 标准不符
Jump to
- English Forum
- Explore
- News
- General Discussion
- FAQ
- Documentation
- Documentation
- Sample Code
- Discussion Forum
- ESP32-S31
- Hardware
- ESP-IDF
- ESP-BOX
- ESP-ADF
- ESP-MDF
- ESP-WHO
- ESP-SkaiNet
- ESP32 Arduino
- IDEs for ESP-IDF
- ESP-AT
- ESP IoT Solution
- ESP RainMaker
- Rust
- ESP8266
- Report Bugs
- Showcase
- Chinese Forum 中文社区
- 活动区
- 乐鑫活动专区
- 讨论区
- ESP32-S31 中文讨论版
- 喵伴 中文讨论版
- ESP-IDF 中文讨论版
- 《ESP32-C3 物联网工程开发实战》书籍讨论版
- 中文文档讨论版
- ESP-AT 中文讨论版
- ESP-BOX 中文讨论版
- ESP IoT Solution 中文讨论版
- ESP-ADF 中文讨论版
- ESP Mesh 中文讨论版
- ESP Cloud 中文讨论版
- ESP-WHO 中文讨论版
- ESP-SkaiNet 中文讨论版
- ESP 生产支持讨论版
- 硬件问题讨论
- 项目展示
Who is online
Users browsing this forum: No registered users and 2 guests
- All times are UTC
- Top
- Delete cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. ESP8266EX and ESP32 are some of our products.
Information
Espressif ESP32 ... Available now!