På den forgangne konference FOSDEM 2020 projekt , der udvikler den første åbne implementering af et fuldt Wi-Fi 802.11a/g/n-stak, hvor signalformen og moduleringen defineres softwaremæssigt (SDR, Software Defined Radio). OpenWifi gør det muligt at skabe en fuldt kontrolleret implementering af alle komponenter i en trådløs enhed, inklusive de lavniveau lag, der i almindelige trådløse adaptere realiseres på niveauer, der ikke kan auditeres. Koden , samt af hardwareblokke på Verilog-sprog til FPGA udgives under AGPLv3-licensen.
Den hardwarekomponent, der blev præsenteret i den fungerende prototype, er baseret på FPGA Xilinx Zynq og en universel sender/modtager (RF) AD9361. OpenWifi anvender SoftMAC-arkitekturen, hvilket indebærer implementeringen af den primære trådløse stak 802.11 (high-MAC) på driverens side og tilstedeværelsen af et low-MAC lag på FPGA-siden. Den trådløse stak bruger mac80211-subsystemet, der leveres af Linux-kernen. Interaktionen med SDR foregår gennem en speciel driver.
Hovedfunktioner:
- Fuld support for 802.11a/g og delvis support for 802.11n MCS 0~7 (indtil videre kun PHY rx). Planlagt support for 802.11ax;
- Båndbredde på 20MHz og frekvensområde fra 70 MHz til 6 GHz;
- Driftsformer: (netværk af klientenheder), adgangspunkt, station og overvågning;
- Implementering af kanallagsprotokollen på FPGA-siden (Distributed Coordination Function), der anvender CSMA/CA-metoden. Behandlingstiden for en ramme () er på niveau med 10us;
- Justérbare parametre for adgangsprioritet til kanalen: varighed af RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, slot-time osv.
- Tidskvantisering () baseret på MAC-adressen;
- Let ændret båndbredde og frekvens:
2MHz for 802.11ah og 10MHz for 802.11p;
I øjeblikket er der support for SDR-platforme baseret på FPGA
Xilinx ZC706 med sender/mottagere fra Analog Devices FMCOMMS2/3/4, samt forbindelser (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB og ADRV9361Z7035 SOM + ADRV1CRR-FMC. En af SD-kort til ARM Linux. Planlagt at støtte forbindelser ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 og
Xilinx ZCU102 + ADRV9371. Omkostningerne ved de komponenter, der blev brugt i den første prototype af OpenWifi, var omkring 1300 euro, men der arbejdes på at portere til billigere kort. For eksempel vil omkostningerne ved en løsning bygget på være 700 euro, og baseret på — 400 euro.
Test af performance på klientforbindelsen med USB-adapteren TL-WDN4200 N900 til adgangspunktet baseret på OpenWifi opnåede en båndbredde på 30,6 Mbps (TCP) og 38,8 Mbps (UDP) ved dataoverførsel fra adgangspunktet til klienten og 17,0 Mbps (TCP) og 21,5 Mbps (UDP) ved overførsel fra klienten til adgangspunktet. Standard Linux-værktøjer som ifconfig og iwconfig kan bruges til styring, samt det specialiserede værktøj sdrctl, der arbejder via netlink og muliggør styring af SDR på lavt niveau (manipulere registre, ændre tidskvantiseringsindstillinger osv.).

Andre åbne projekter, der eksperimenterer med Wi-Fi-stakken, inkluderer projektet , som udvikler en kompatibel transceiver til IEEE 802.11 a/g/p baseret på GNU Radio og en almindelig PC. Programmerbare åbne trådløse 802.11-stakke udvikler også projekter som og (Microsoft Research Software Radio).
Kilde: opennet.ru
