The OpenWifi project implementing an open Wi-Fi chip based on FPGA and SDR

At the recent FOSDEM 2020 conference, introduced project OpenWifi, which is developing the first open implementation of the complete Wi-Fi 802.11a/g/n stack, with signal form and modulation defined programmatically (SDR, Software Defined Radio). OpenWifi allows the creation of a fully controlled implementation of all components of a wireless device, including low-level layers that in standard wireless adapters are realized at the level of chips that are inaccessible for auditing. The code of software components, as well as schematics and descriptions of hardware blocks in Verilog for FPGA are distributed under the AGPLv3 license.

The hardware component of the demonstrated working prototype is based on the Xilinx Zynq FPGA and the AD9361 universal transceiver (RF). OpenWifi uses the SoftMAC architecture, which implies the implementation of the core wireless 802.11 (high-MAC) stack on the driver side and the presence of a low-MAC layer on the FPGA side. The wireless stack uses the mac80211 subsystem provided by the Linux kernel. Interaction with SDR is done through a special driver.

The OpenWifi project implementing an open Wi-Fi chip based on FPGA and SDR

Main Features:

  • Full support for 802.11a/g and partial support for 802.11n MCS 0~7 (currently only PHY rx). Support for 802.11ax is planned;
  • 20MHz bandwidth and a frequency range from 70 MHz to 6 GHz;
  • Operating modes: Ad-hoc (a network of client devices), access point, station, and monitoring;
  • Implementation on the FPGA side of the channel level protocol DCF (Distributed Coordination Function), using CSMA/CA method. Frame processing time is ensured at the level ofSIFS) of 10us;
  • Configurable parameters for channel access priority: RTS/CTS duration, CTS-to-self, SIFS, DIFS, xIFS, slot-time, etc.
  • Time quantization (Time slicing) based on MAC address;
  • Easily adjustable bandwidth and frequency:
    2MHz for 802.11ah and 10MHz for 802.11p;

The OpenWifi project implementing an open Wi-Fi chip based on FPGA and SDR

Currently, OpenWifi provides disabling the tracker blocking SDR platforms based on FPGA
Xilinx ZC706 with Analog Devices FMCOMMS2/3/4 transceivers, as well as bundles (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB and ADRV9361Z7035 SOM + ADRV1CRR-FMC. A ready-made image for SD cards based on ARM Linux has been prepared. Support for bundles ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx Zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4, and Xilinx ZCU102 + ADRV9371 is planned.
Xilinx ZCU102 + ADRV9371. The cost of components involved in the first prototype of OpenWifi was around 1300 euros, but porting to cheaper boards is underway. For example, the cost of a solution based on Analog Devices ADRV9364-Z7020 will be 700 euros, and based on ZYNQ NH7020 — 400 euros.

Performance testing of a client connection with the USB adapter TL-WDN4200 N900 to the OpenWifi access point achieved a throughput of 30.6 Mbps (TCP) and 38.8 Mbps (UDP) for data transmission from the access point to the client, and 17.0 Mbps (TCP) and 21.5 Mbps (UDP) for transmission from the client to the access point. Standard Linux utilities such as ifconfig and iwconfig can be used for management, as well as a specialized utility sdrctl, which operates through netlink and allows low-level control of the SDR (manipulating registers, changing time quantization settings, etc.).

Play video

Among other open projects experimenting with the Wi-Fi stack, one can mention the project Wime, developing an IEEE 802.11 a/g/p transmitter based on GNU Radio and a standard PC. Open software wireless stacks 802.11 are also developing projects Ziria and Sora (Microsoft Research Software Radio).

The OpenWifi project implementing an open Wi-Fi chip based on FPGA and SDR

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster