published the project Openwifi 1.4 , developing the open implementation of the full stack Wi-Fi 802.11a/G/N, the signal shape and modulation in which is set software (SDR, Software Defined Radio). Openwifi allows you to create a fully controlled implementation of all components of the wireless device, including low -level layers, in ordinary wireless adapters, implemented at the level of the chips inaccessible to the audit. Code software components , as well as Schemes and descriptions of hardware blocks in the Verilog language for FPGA are distributed under the AGPLV3 license.
Openwifi is used by SoftMac architecture, which implies the implementation of the main wireless stack 802.11 (High-Mac) on the driver’s side and the presence of Low-MAC layer layer On the side of FPGA. As a wireless stack, the MAC80211 subsystem provided by the Linux nucleus is used. Interaction with SDR is carried out through a special driver. hardware component can be built on the basis of FPGA Xilinx and universal transmitters (RF) analyg devices FMCOMMS2/3/4, Adrv1crr or AD9361. To download the ready-made image sd cards. The cost of a solution based on FPGA ZynQ NH7020 is 400 euros.
The main features:
- Full support 802.11a/g/n. Support plans 802.11AX.
- bandwidth 20MHz and frequency range from 70 mHz to 6 GHZ.
- operating modes: AD-HOC ( Network from client devices), access point, station and monitoring.
- Implementation on the FPGA side of the channel -level protocol dcf (Distribute Coordination Function) using the CSMA/CA method. The frame processing time is ensured ( sifs ) at 10us.
- customizable access parameters for access to the channel: duration RTS/CTS, CTS-to-SELF, Sifs, Difs, XIFS, Slot-Time, etc.
- Time quanties ( time slicing ) based on the MAC address.
- easily changed bandwidth and frequency: 2MHz for 802.11ah and 10MHz for 802.11p.
- Opportunately use as a radar and detector premises.
- Linux staff management, such as IFCONFIG and IWCONFIG, as well as a specialized SDRCTL utility, which operates through NetLink and allows you to manage the SDR operation at a low level (manipulate registers, change tinctures of time quantizing, etc.).
- through testing through Iperf: 40 ~ 50MBPS for TCP and 50MBPS for UDP.
).
In the new issue: