We set up 6x ESP32-S3-DevKitC-1-N8R8 nodes (8MB Flash N8R8, no display) with a TP-Link EAP225 access point on channel 1 and Ubuntu 22.04 running sensing-server v0.3.1. All nodes connect to WiFi successfully — Got IP confirmed, RSSI around -50 dBm — but yield stays permanently at 0pps and no CSI cb messages ever appear in the serial output.
After investigation we found the root cause: the release_bins pre-built binaries are compiled with MGMT-only promiscuous filter as the RuView#396 workaround. This was designed to prevent SPI flash cache crashes on boards with QSPI displays. The ESP32-S3-DevKitC-1 has no display at all, so the crash risk simply does not apply to our hardware — but the MGMT-only filter starves the CSI callback (RuView#521) and yield collapses to zero permanently.
We fixed this by recompiling the firmware from source using Docker with espressif/idf:v5.4, changing the promiscuous filter to MGMT+DATA. The existing 50Hz rate gate in wifi_csi_callback (CSI_MIN_PROCESS_INTERVAL_US = 20ms) prevents the SPI flash cache crash on our hardware. After recompilation yield immediately jumped to 15-21 pps on all 6 nodes.
We would like to request a separate pre-built binary for display-less boards like the DevKitC-1. Many users will have exactly this board and hit the same issue without knowing why.
We set up 6x ESP32-S3-DevKitC-1-N8R8 nodes (8MB Flash N8R8, no display) with a TP-Link EAP225 access point on channel 1 and Ubuntu 22.04 running sensing-server v0.3.1. All nodes connect to WiFi successfully — Got IP confirmed, RSSI around -50 dBm — but yield stays permanently at 0pps and no CSI cb messages ever appear in the serial output.
After investigation we found the root cause: the release_bins pre-built binaries are compiled with MGMT-only promiscuous filter as the RuView#396 workaround. This was designed to prevent SPI flash cache crashes on boards with QSPI displays. The ESP32-S3-DevKitC-1 has no display at all, so the crash risk simply does not apply to our hardware — but the MGMT-only filter starves the CSI callback (RuView#521) and yield collapses to zero permanently.
We fixed this by recompiling the firmware from source using Docker with espressif/idf:v5.4, changing the promiscuous filter to MGMT+DATA. The existing 50Hz rate gate in wifi_csi_callback (CSI_MIN_PROCESS_INTERVAL_US = 20ms) prevents the SPI flash cache crash on our hardware. After recompilation yield immediately jumped to 15-21 pps on all 6 nodes.
We would like to request a separate pre-built binary for display-less boards like the DevKitC-1. Many users will have exactly this board and hit the same issue without knowing why.