explaingit

open-sdr/openwifi

4,619CAudience · researcherComplexity · 5/5LicenseSetup · hard

TLDR

An open-source Wi-Fi implementation built on programmable FPGA hardware, letting researchers inspect and modify low-level wireless behavior that is normally locked inside sealed commercial chips.

Mindmap

mindmap
  root((repo))
    What It Does
      Open source Wi-Fi stack
      Runs on FPGA hardware
      Exposes radio internals
    Hardware
      Xilinx FPGA boards
      Analog Devices radio
      SD card image
    Research Uses
      CSI data capture
      Packet injection
      Channel fuzzing
    Wi-Fi Modes
      Access point mode
      Station client mode
      Monitor mode
    License
      AGPLv3 open source
      Commercial subscription
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Capture precise Wi-Fi channel timing and CSI signal data for wireless sensing or radar research experiments.

USE CASE 2

Set up a software-defined Wi-Fi access point on FPGA hardware to test packet injection or channel fuzzing in a lab.

USE CASE 3

Modify the low-level MAC timing logic to study how devices share the wireless channel in ways impossible with commercial chips.

Tech stack

CLinuxFPGAXilinx

Getting it running

Difficulty · hard Time to first run · 1day+

Requires a supported Xilinx FPGA development board paired with an Analog Devices radio module, not runnable on standard PC hardware.

Free to use and modify under AGPLv3, but any software you distribute that incorporates it must also be released as open source under the same license. A paid commercial subscription unlocks advanced features.

In plain English

Openwifi is an open-source implementation of the Wi-Fi standard (IEEE 802.11) built on programmable radio hardware called an FPGA. An FPGA is a chip that can be reconfigured in software to act as custom hardware, so this project essentially lets researchers and engineers build their own Wi-Fi radio from the ground up rather than relying on a commercial chip whose internals they cannot inspect or modify. The project is split into two parts. This repository contains the Linux driver and supporting software. A companion repository called openwifi-hw holds the FPGA circuit design. Together they form a complete Wi-Fi stack that runs on several supported hardware boards, mostly Xilinx development boards paired with Analog Devices radio modules. The system supports common Wi-Fi modes including access point, station (client), ad-hoc, and monitor mode, and achieves real-world throughput of 40 to 50 Mbps in tests. What makes this project unusual is that the low-level timing logic that governs how devices share the wireless channel, normally hidden inside a sealed chip, is here running in the reconfigurable hardware. This makes it possible to measure and modify things that are impossible to observe on commercial hardware, such as precise channel timing, signal quality data called CSI (Channel State Information), raw radio samples, and packet-level behavior. The project includes application notes for specific research uses like radar sensing, packet injection, and channel fuzzing. Getting started requires one of the supported hardware boards, an SD card, and comfort working on the Linux command line. The README walks through downloading a pre-built image, writing it to the SD card, configuring files for the specific board, and running setup scripts over SSH. The project is licensed under AGPLv3, with an option for a commercial subscription that unlocks more advanced features like 802.11ax support.

Copy-paste prompts

Prompt 1
Walk me through flashing the openwifi SD card image onto a supported Xilinx board and SSHing in to confirm the Wi-Fi interface is up.
Prompt 2
How do I put an openwifi interface into monitor mode and capture raw 802.11 frames with tcpdump?
Prompt 3
Show me how to capture CSI channel state information from openwifi and save it to a file for a wireless sensing experiment.
Prompt 4
Explain how openwifi implements the CSMA backoff timing in FPGA logic and how I can change the contention window parameters.
Open on GitHub → Explain another repo

← open-sdr on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.