fix(nrf24): power down WiFi PHY during jamming to clear 2.4GHz band#2517
fix(nrf24): power down WiFi PHY during jamming to clear 2.4GHz band#2517r13xr13 wants to merge 1 commit into
Conversation
The NRF24 jammer transmits on 2.4GHz — the same band as the ESP32 WiFi radio. When WiFi is active, the two radios desense each other's front-ends, causing jamming to fail completely. This fix: - Saves WiFi mode, stops WiFi, and disables the PHY before jamming - Restores WiFi state after jamming completes - Adds a shared SPI bus mutex (cc_nrf_spi_mutex) to prevent contention between NRF24, CC1101, LoRa, and W5500 on the same physical SPI pins Tested on: T-Embed CC1101, Cardputer, ESP32-S3 variants Fixes: jammers not working when WiFi is active (issue BruceDevices#2508, BruceDevices#2511)
|
On my Mac Studio and MacOS 26.5.1 it fails to compile with the following error message: src/modules/NRF24/nrf_jammer.cpp:22:10: fatal error: esp32-hal-semaphore.h: No such file or directory Is this a mac related issue? I might just try on my linux machine later the day |
go with https://esptool.spacehuhn.com/ put the .bin file in the top and set it to 0x0 Best method until i get our flasher up. as your failing due to missing libs. confirmed working already but still let me know if after you try this it still gives you issues i'll take a closer look. |
I wasn't able to compile on my mac studio, I also tried on an macbook pro m1 and visual studio code, it always ends at this point. But on my x86 debian machine everything compiles perfectly fine. I guess it really is a mac related issue. |
TRY A VM IF YOU NEED TO BE ON THE MAC a friend also had this issue on the mac |
Problem
The NRF24 jammer transmits on 2.4GHz — the same ISM band as the ESP32 internal WiFi radio. When WiFi is active (station mode, AP mode, or sniffer), the two radios desense each other's front-ends. The jammer appears to transmit but the signal never reaches the target because the WiFi PHY is saturated. Users report "no jammers work" on v1.15 (#2508).
Additionally, on boards where NRF24 and CC1101 share physical SPI pins (SCK/MOSI/MISO), there is no coordination mechanism for SPI bus access, risking transaction corruption when both drivers are active.
Changes
src/modules/NRF24/nrf_jammer.cpp— WiFi power management during jamming:esp_phy_disable()) to clear the 2.4GHz bandsrc/main.cpp— Shared SPI bus mutex:SemaphoreHandle_t cc_nrf_spi_mutex(file scope extern)xSemaphoreCreateMutex()insetup()nrf_jammer.cppfor use in SPI-critical sectionsTesting
CC_NRF_SPIbusFixes #2508, references #2511