Checklist
Feature description
我正在使用两块 ESP32-C5 开发板,基于 ESP-IDF v6.0 搭建一个 ESP-NOW CSI 双向采集系统。当前系统中:
Alice: ESP-NOW unicast sender
Bob: ESP-NOW receiver + CSI collector
目前 Bob 端已经可以稳定接收 Alice 发送的 ESP-NOW unicast frame,并通过 CSI callback 输出 Alice-to-Bob direction 的 CSI 数据。Bob 端能够正常解析 Alice payload 中携带的 sequence number,因此 Alice→Bob 的 ESP-NOW 通信和 CSI 采集链路是正常的。
但是,在 Alice 端,我希望在发送 ESP-NOW unicast frame 后,获取 Bob 返回的 802.11 MAC-layer ACK frame 对应的 CSI,即:
Alice sends ESP-NOW unicast frame to Bob
Bob's MAC layer sends 802.11 ACK frame back to Alice
Alice captures CSI of this ACK frame
我已经尝试在 Alice 端开启以下配置:
esp_wifi_set_promiscuous(true);
wifi_promiscuous_filter_t filter = {
.filter_mask = WIFI_PROMIS_FILTER_MASK_CTRL,
};
esp_wifi_set_promiscuous_filter(&filter);
wifi_promiscuous_filter_t ctrl_filter = {
.filter_mask = WIFI_PROMIS_CTRL_FILTER_MASK_ACK,
};
esp_wifi_set_promiscuous_ctrl_filter(&ctrl_filter);
wifi_csi_config_t csi_config = {
.enable = true,
.acquire_csi_legacy = true,
.acquire_csi_force_lltf = false,
.acquire_csi_ht20 = true,
.acquire_csi_ht40 = true,
.acquire_csi_vht = false,
.acquire_csi_su = false,
.acquire_csi_mu = false,
.acquire_csi_dcm = false,
.acquire_csi_beamformed = false,
.acquire_csi_he_stbc_mode = 2,
.val_scale_cfg = 0,
.dump_ack_en = true,
.reserved = false,
};
同时,我也注册了 ESP-NOW send callback。实验结果显示:
esp_now_send_cb reports ESP_NOW_SEND_SUCCESS continuously
Bob receives Alice's frames and prints CSI_DATA continuously
Alice's CSI callback is never triggered for ACK CSI
ack_csi_count remains 0
我想确认:
1、ESP32-C5 Wi-Fi CSI driver 当前是否支持获取 ESP-NOW unicast frame 对应的 802.11 MAC ACK frame CSI?
2、如果支持,是否需要特殊的 CSI configuration / promiscuous filter / PHY mode / bandwidth 配置?
3、如果不支持,这是硬件限制、Wi-Fi driver 限制,还是 ESP-IDF v6.0 当前尚未开放该功能?
4、dump_ack_en = true 在 ESP32-C5 上是否应该触发 ACK frame 的 CSI callback?它是否适用于 ESP-NOW unicast ACK?
希望官方可以明确说明 ESP32-C5 当前对 ACK CSI reporting 的支持状态,并提供一个最小可运行示例,例如:
ESP-NOW unicast sender captures CSI from receiver's MAC-layer ACK frame
Use cases
双向 CSI 配对采集
希望得到同一个 sequence number 下的双向 CSI:
seq = n:
CSI_AB(n): Alice -> Bob
CSI_BA(n): Bob -> Alice, from MAC-layer ACK frame
由于 MAC-layer ACK 在数据帧接收后由硬件立即返回,ACK frame 与原始数据帧之间的时间间隔非常短,适合用于近似瞬时的信道测量。
Alternatives
No response
Additional context
No response
Checklist
Feature description
我正在使用两块 ESP32-C5 开发板,基于 ESP-IDF v6.0 搭建一个 ESP-NOW CSI 双向采集系统。当前系统中:
Alice: ESP-NOW unicast sender
Bob: ESP-NOW receiver + CSI collector
目前 Bob 端已经可以稳定接收 Alice 发送的 ESP-NOW unicast frame,并通过 CSI callback 输出 Alice-to-Bob direction 的 CSI 数据。Bob 端能够正常解析 Alice payload 中携带的 sequence number,因此 Alice→Bob 的 ESP-NOW 通信和 CSI 采集链路是正常的。
但是,在 Alice 端,我希望在发送 ESP-NOW unicast frame 后,获取 Bob 返回的 802.11 MAC-layer ACK frame 对应的 CSI,即:
Alice sends ESP-NOW unicast frame to Bob
Bob's MAC layer sends 802.11 ACK frame back to Alice
Alice captures CSI of this ACK frame
我已经尝试在 Alice 端开启以下配置:
esp_wifi_set_promiscuous(true);
wifi_promiscuous_filter_t filter = {
.filter_mask = WIFI_PROMIS_FILTER_MASK_CTRL,
};
esp_wifi_set_promiscuous_filter(&filter);
wifi_promiscuous_filter_t ctrl_filter = {
.filter_mask = WIFI_PROMIS_CTRL_FILTER_MASK_ACK,
};
esp_wifi_set_promiscuous_ctrl_filter(&ctrl_filter);
wifi_csi_config_t csi_config = {
.enable = true,
.acquire_csi_legacy = true,
.acquire_csi_force_lltf = false,
.acquire_csi_ht20 = true,
.acquire_csi_ht40 = true,
.acquire_csi_vht = false,
.acquire_csi_su = false,
.acquire_csi_mu = false,
.acquire_csi_dcm = false,
.acquire_csi_beamformed = false,
.acquire_csi_he_stbc_mode = 2,
.val_scale_cfg = 0,
.dump_ack_en = true,
.reserved = false,
};
同时,我也注册了 ESP-NOW send callback。实验结果显示:
esp_now_send_cb reports ESP_NOW_SEND_SUCCESS continuously
Bob receives Alice's frames and prints CSI_DATA continuously
Alice's CSI callback is never triggered for ACK CSI
ack_csi_count remains 0
我想确认:
1、ESP32-C5 Wi-Fi CSI driver 当前是否支持获取 ESP-NOW unicast frame 对应的 802.11 MAC ACK frame CSI?
2、如果支持,是否需要特殊的 CSI configuration / promiscuous filter / PHY mode / bandwidth 配置?
3、如果不支持,这是硬件限制、Wi-Fi driver 限制,还是 ESP-IDF v6.0 当前尚未开放该功能?
4、dump_ack_en = true 在 ESP32-C5 上是否应该触发 ACK frame 的 CSI callback?它是否适用于 ESP-NOW unicast ACK?
希望官方可以明确说明 ESP32-C5 当前对 ACK CSI reporting 的支持状态,并提供一个最小可运行示例,例如:
ESP-NOW unicast sender captures CSI from receiver's MAC-layer ACK frame
Use cases
双向 CSI 配对采集
希望得到同一个 sequence number 下的双向 CSI:
seq = n:
CSI_AB(n): Alice -> Bob
CSI_BA(n): Bob -> Alice, from MAC-layer ACK frame
由于 MAC-layer ACK 在数据帧接收后由硬件立即返回,ACK frame 与原始数据帧之间的时间间隔非常短,适合用于近似瞬时的信道测量。
Alternatives
No response
Additional context
No response