Skip to content

Deauther update with Adaptive Multi-Band Support - #2836

Open
Ninja-jr wants to merge 13 commits into
BruceDevices:devfrom
Ninja-jr:deauther_update
Open

Deauther update with Adaptive Multi-Band Support#2836
Ninja-jr wants to merge 13 commits into
BruceDevices:devfrom
Ninja-jr:deauther_update

Conversation

@Ninja-jr

Copy link
Copy Markdown
Contributor

Complete overhaul of the deauther module with automatic band detection and adaptive channel hopping. Now supports 2.4GHz, 5GHz, and 6GHz bands with intelligent fallback for older hardware.

Changes Made

1. Automatic Band Detection

  • detectSupportedBands(): Detects which bands (2.4/5/6GHz) the hardware supports at runtime
  • SupportedBands struct: Tracks supported bands and band count
  • Fallback mechanism: Graceful fallback to 2.4GHz if detection fails
  • No hardware assumptions: Works on any ESP32 variant

2. Adaptive Channel Hopping

  • buildChannelListFromAPs(): Builds channel lists based on detected APs across bands
  • buildDefaultChannelList(): Creates channel lists from supported bands
  • adaptiveDeauthLoop(): Unified hopping loop that cycles through multi-band channels
  • Band-aware reason codes: Automatically uses 5GHz/6GHz reason codes when operating on those bands

3. Multi-Band Attack Support

  • Mono-band: Simple attack on single band (2.4GHz only)
  • Dual-band: Band-hopping between 2.4GHz + 5GHz or 2.4GHz + 6GHz
  • Tri-band: Full band-hopping across 2.4GHz + 5GHz + 6GHz
  • Automatic strategy selection: Chooses the right strategy based on detected hardware

4. Enhanced Display Feedback

  • "BAND-HOP" indicator shows when multi-band hopping is active
  • "MULTI-BAND" status displays during attacks
  • Channel count display: Shows number of channels in use
  • Band-specific information: Displays current band (2.4GHz/5GHz/6GHz)

5. Future-Proof Architecture

  • Band detection, not board detection: Works on any future hardware
  • Extensible channel lists: Easy to add new bands

Memory Impact

  • Additional RAM: ~2KB for band detection structures
  • Additional Flash: ~3KB for new functions
  • No performance impact on 2.4GHz-only boards

Compatibility

  • ✅ Fully backwards compatible with 2.4GHz-only boards (ESP32, ESP32-S3)
  • ✅ Works on dual-band boards (ESP32-C5)
  • ✅ Ready for tri-band boards (future hardware)
  • ✅ Existing deauth logic preserved
  • ✅ No breaking changes to existing API

Configuration Changes

None required - automatically adapts to hardware.

Performance Improvements

  • 2.4GHz-only boards: Same performance as before
  • Multi-band boards: Full 5GHz/6GHz support without manual configuration
  • Automatic fallback: No user intervention needed

Added band detection and adaptive functions, including support for multiple bands and AP information structure.
@Ninja-jr
Ninja-jr marked this pull request as draft August 26, 2026 18:12
Added APInfo structure to deauther.h for better access to access point information.
Refactor WiFi band detection and channel building functions, removing unused structures and comments. Enhance clarity and organization of the code.
@Ninja-jr
Ninja-jr marked this pull request as ready for review August 26, 2026 18:29
Ninja-jr pushed a commit to Ninja-jr/Bruce_firmware that referenced this pull request Aug 26, 2026
@Valkrycxx

Copy link
Copy Markdown

oo looks cool!

Moved BandType enum to shared header and updated WiFiState structure.
Removed redundant comments and retained enum definition.
Ninja-jr pushed a commit to Ninja-jr/Bruce_firmware that referenced this pull request Aug 26, 2026
Removed BandType enum and SupportedBands struct definitions from deauther.h.
Ninja-jr pushed a commit to Ninja-jr/Bruce_firmware that referenced this pull request Aug 26, 2026
@Ninja-jr
Ninja-jr marked this pull request as draft August 26, 2026 21:54
Added band detection functions to identify supported WiFi bands.
Removed band detection and channel building functions from the deauther module.
@Ninja-jr
Ninja-jr marked this pull request as ready for review August 26, 2026 22:09
Added functions to build channel lists based on supported bands and access points.
Ninja-jr pushed a commit to Ninja-jr/Bruce_firmware that referenced this pull request Aug 26, 2026
@Ninja-jr

Copy link
Copy Markdown
Contributor Author

All good now...ready to merge. Tested and works as intended and even better

Ninja-jr pushed a commit to Ninja-jr/Bruce_firmware that referenced this pull request Aug 29, 2026
Ninja-jr pushed a commit to Ninja-jr/Bruce_firmware that referenced this pull request Aug 30, 2026
Ninja-jr pushed a commit to Ninja-jr/Bruce_firmware that referenced this pull request Aug 30, 2026
Ninja-jr pushed a commit to Ninja-jr/Bruce_firmware that referenced this pull request Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants