Auf der vergangenen FOSDEM 2020-Konferenz Projekt , das die erste Open-Source-Implementierung des vollständigen Wi-Fi 802.11a/g/n-Stacks entwickelt, wobei die Signalform und Modulation softwareseitig (SDR, Software Defined Radio) definiert wird. OpenWifi ermöglicht die Erstellung einer vollständig kontrollierbaren Implementierung aller Komponenten eines drahtlosen Geräts, einschließlich der niedrigen Ebenen, die in herkömmlichen drahtlosen Adaptern auf Chips realisiert werden, die nicht auditiert werden können. Der Code , sowie (Verilog) der Hardwareeinheiten auf Basis von FPGA wird unter der Lizenz AGPLv3 verbreitet.
Die Hardware des demonstrierten funktionierenden Prototyps basiert auf dem FPGA Xilinx Zynq und dem universellen Sender/Empfänger (RF) AD9361. In OpenWifi wird die SoftMAC-Architektur verwendet, die die Implementierung des Haupt-Drahtlosstapels 802.11 (high-MAC) auf der Treiberseite und eine low-MAC-Schicht auf der FPGA-Seite umfasst. Als drahtloser Stapel wird das mac80211-Subsystem des Linux-Kernels verwendet. Die Interaktion mit dem SDR erfolgt über einen speziellen Treiber.
Hauptfunktionen:
- Vollständige Unterstützung für 802.11a/g und teilweise Unterstützung für 802.11n MCS 0~7 (derzeit nur PHY rx). Geplant ist die Unterstützung von 802.11ax;
- Bandbreite von 20 MHz und Frequenzbereich von 70 MHz bis 6 GHz;
- Betriebsmodi: (Netzwerk aus Client-Geräten), Zugangspunkt, Station und Monitoring;
- Implementierung des Protokolls auf Kanalebene auf FPGA-Seite (Distributed Coordination Function), verwendet die CSMA/CA-Methode. Die Frame-Verarbeitungszeit wird gewährleistet () auf Ebene von 10 us;
- Konfigurierbare Zugriffsprioritäten: Dauer von RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, Slot-Zeit usw.;
- Zeitquantisierung () basierend auf MAC-Adresse;
- Leicht anpassbare Bandbreite und Frequenz:
2 MHz für 802.11ah und 10 MHz für 802.11p;
Derzeit bieten OpenWifi SDR-Plattformen basierend auf FPGA
Xilinx ZC706 mit Analog Devices FMCOMMS2/3/4-Transceivern sowie den Kombinationen (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB und ADRV9361Z7035 SOM + ADRV1CRR-FMC an. Für das Hochladen wurde ein für SD-Karten auf ARM Linux-Basis erstellt. Zukünftige Pläne umfassen die Unterstützung der Kombinationen ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 und
Xilinx ZCU102 + ADRV9371.
Die Leistungsbewertung der Verbindung des Kunden mit dem USB-Adapter TL-WDN4200 N900 zu einem OpenWiFi-Zugangspunkt ergab eine Durchsatzrate von 30,6 Mbps (TCP) und 38,8 Mbps (UDP) für Datenübertragungen vom Zugangspunkt zum Client sowie 17,0 Mbps (TCP) und 21,5 Mbps (UDP) für Übertragungen vom Client zum Zugangspunkt. Zur Verwaltung können die integrierten Linux-Dienstprogramme wie ifconfig und iwconfig sowie das spezialisierte Tool sdrctl, das über Netlink arbeitet, verwendet werden, um SDR-Funktionalitäten auf niedriger Ebene zu steuern (Registermanipulation, Änderungen der Zeitquantisierungseinstellungen usw.).

Unter anderen Open-Source-Projekten, die mit dem Wi-Fi-Stack experimentieren, hebt sich das Projekt , das einen mit IEEE 802.11 a/g/p kompatiblen auf Basis von GNU Radio und einem Standard-PC entwickelt. Auch die Software-Open-Source-Wireless-Stacks 802.11 fördern Projekte wie und (Microsoft Research Software Radio).
Quelle: opennet.ru
