Brussels / 1 & 2 February 2020



Opensource "Wi-Fi chip design" and Linux driver

An open source "Wi-Fi chip design"(Will be AGPLv3) will be presented and a live demo will be shown in the room! The design is based on SDR (Software Defined Radio) and offers full-stack 802.11a/g/n capabilities on FPGA and ARM Linux (Xilinx Zynq SoC + AD9361 RF front-end).It conforms with Linux mac80211 framework and behaves just like COTS Wi-Fi chip under Linux. The main components of the design are: RF front-end control; PHY; low-MAC; interfacing (DMA, register) with ARM; mac80211 compliant Linux driver; high-MAC (mac80211 framework); Linux user space tools (ifconfig, iwconfig, dedicated tools via netlink).​ Since it is a SDR based "white box" design instead of commercial “black box” chip, you can do Wi-Fi research and customization without any reverse engineering efforts.

Why does it fit FOSDEM?

It will be the 1st open source project for full-stack Wi-Fi SDR implementation. Lots of people, especially wireless network/security researchers, SDR researchers and hackers, will be interested in. We are eager to show the demo in the room and hear feedback from people/community. Potential contributors are also very welcomed, and we will be glad to offer help.


  • 802.11a/g
  • 802.11n MCS 0~7 (Only PHY rx for now. Full system support of 802.11n will come soon)
  • 20MHz bandwidth; 70 MHz to 6 GHz frequency range
  • Mode tested: Ad-hoc; Station; AP, Monitor
  • DCF (CSMA/CA) low MAC layer in FPGA (10us SIFS is achieved)
  • Configurable channel access priority parameters:
  • duration of RTS/CTS, CTS-to-self
    • SIFS/DIFS/xIFS/slot-time/CW/etc
    • Time slicing based on MAC address
  • Easy to change bandwidth and frequency:
    • 2MHz for 802.11ah in sub-GHz
    • 10MHz for 802.11p/vehicle in 5.9GHz
  • On roadmap: 802.11ax

Performance (AP: openwifi at channel 44, client: TL-WDN4200 N900 Wireless Dual Band USB Adapter. iperf test):

  • AP --> client: 30.6Mbps(TCP), 38.8Mbps(UDP)
  • client --> AP: 17.0Mbps(TCP), 21.5Mbps(UDP)

Supported SDR platforms:

  • zc706 (Xilinx) + fmcomms2/fmcomms4 (Analog Devices)
  • On roadmap: ADRV9361-Z7035/ADRV9364-Z7020 + ADRV1CRR-BOB (Analog Devices)
  • On roadmap: zcu102 (Xilinx) + fmcomms2/fmcomms4/ADRV9371 (Analog Devices)
  • Don't have any boards? Or you like JTAG boot instead of SD card? Check our test bed w-iLab.t tutorial.


Xianjun Jiao