Dragan Spiridonov
c442669ea8
fix(firmware): MGMT-only promiscuous filter to prevent SPI cache crash
The WiFi driver's wDev_ProcessFiq interrupt handler crashes with
LoadProhibited in cache_ll_l1_resume_icache when promiscuous mode
captures MGMT+DATA frames (100-500 interrupts/sec). The high interrupt
rate races with SPI flash cache operations, corrupting cache state.
Changes:
- Promiscuous filter: MGMT+DATA → MGMT-only (~10 Hz beacons)
- CSI config: disable htltf_en and stbc_htltf2_en (LLTF-only)
LLTF provides 64 subcarriers (HT20) — sufficient for presence,
breathing, and fall detection. The 10 Hz beacon rate eliminates
the SPI flash cache contention that caused the crash.
Verified on device 80:b5:4e:c1:be:b8:
- Before: LoadProhibited crash at ~1600-2400 callbacks (every ~70s)
- After: 2700+ callbacks over 4.7 minutes, zero crashes
Backtrace decode confirmed crash in ESP-IDF closed-source WiFi blob:
_xt_lowint1 → wDev_ProcessFiq → spi_flash_restore_cache
→ cache_ll_l1_resume_icache → EXCVADDR=0x00000004 (NULL deref)
Co-Authored-By: Ruflo & AQE
2026-04-28 08:39:51 -04:00
..
2026-04-20 10:38:23 -04:00
2026-04-20 10:38:23 -04:00
2026-04-20 10:38:23 -04:00
2026-04-20 10:38:23 -04:00
2026-04-28 08:39:51 -04:00
2026-04-28 08:39:50 -04:00
2026-03-05 10:20:48 -05:00
2026-03-05 10:20:48 -05:00
2026-03-26 04:08:00 +00:00
2026-03-05 10:20:48 -05:00
2026-04-15 13:47:34 -04:00
2026-03-05 10:20:48 -05:00
2026-04-15 13:47:34 -04:00
2026-04-02 19:32:18 -04:00
2026-03-05 10:20:48 -05:00
2026-04-20 10:38:23 -04:00
2026-03-05 10:20:48 -05:00
2026-04-28 08:39:50 -04:00
2026-03-15 16:10:10 -04:00
2026-03-15 16:10:10 -04:00
2026-03-14 13:39:51 -04:00
2026-03-14 13:39:51 -04:00
2026-03-20 18:46:34 -04:00
2026-03-20 18:46:34 -04:00
2026-03-06 13:11:04 -05:00
2026-03-02 23:53:25 -05:00
2026-03-02 23:53:25 -05:00
2026-03-02 23:53:25 -05:00
2026-04-20 10:38:23 -04:00
2026-04-20 10:38:23 -04:00
2026-04-20 10:38:23 -04:00
2026-04-20 10:38:23 -04:00
2026-04-20 10:38:23 -04:00
2026-04-20 10:38:23 -04:00
2026-04-20 10:38:23 -04:00
2026-03-02 23:53:25 -05:00
2026-03-02 23:53:25 -05:00
2026-03-03 16:00:40 -05:00
2026-02-28 13:38:21 -05:00
2026-03-20 18:46:34 -04:00
2026-03-20 18:46:34 -04:00
2026-04-15 13:47:34 -04:00
2026-03-02 23:53:25 -05:00
2026-03-06 13:11:04 -05:00
2026-03-02 23:53:25 -05:00