Auf der vergangenen FOSDEM 2020-Konferenz Projekt , das erste vollstĂ€ndige und offene Wi-Fi 802.11a/g/n-Stack realisiert, dessen Signalform und Modulation softwaredefiniert (SDR, Software Defined Radio) sind. OpenWifi ermöglicht die Erstellung einer vollstĂ€ndig kontrollierbaren Implementierung aller Komponenten des drahtlosen GerĂ€ts, einschlieĂlich der unteren Schichten, die in herkömmlichen Wireless-Adaptern auf einer Ebene realisiert werden, die nicht auditiert werden kann. Der Code , sowie von Hardwareblöcken in Verilog fĂŒr FPGA werden unter der AGPLv3-Lizenz verbreitet.
Die Hardwarekomponente des vorgestellten 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 grundlegenden drahtlosen 802.11-Stacks (high-MAC) auf der Treiber-Seite und die VerfĂŒgbarkeit einer low-MAC-Schicht auf der FPGA-Seite umfasst. Als drahtloser Stack wird die vom Linux-Kernel bereitgestellte mac80211-Subsystem verwendet. Die Interaktion mit 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 20MHz und Frequenzbereich von 70 MHz bis 6 GHz;
- Betriebsmodi: (Netzwerk von Client-GerĂ€ten), Zugangspunkt, Station und Ăberwachung;
- Die Implementierung des Kommunikationsprotokolls auf der FPGA-Seite (Distributed Coordination Function), das das CSMA/CA-Verfahren verwendet. Es wird eine Verarbeitungsgeschwindigkeit von) auf der Ebene von 10us sichergestellt;
- Konfigurierbare ZugriffsprioritÀtsparameter: RTS/CTS-Dauer, CTS-to-self, SIFS, DIFS, xIFS, Slot-Zeit usw.
- Zeitquantisierung () basierend auf MAC-Adressen;
- Leicht verÀnderbare Bandbreite und Frequenz:
2MHz fĂŒr 802.11ah und 10MHz fĂŒr 802.11p;
Derzeit wird in OpenWifi sichergestellt, dass SDR-Plattformen auf Basis von FPGA
Xilinx ZC706 mit Analog Devices FMCOMMS2/3/4-Payloads sowie Kombinationen (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB und ADRV9361Z7035 SOM + ADRV1CRR-FMC. Zum Laden wurde ein fĂŒr SD-Karten auf Basis von ARM Linux erstellt. Geplant ist die UnterstĂŒtzung von Kombinationen ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 und
Xilinx ZCU102 + ADRV9371. Die Kosten der Komponenten, die im ersten Prototyp von OpenWifi verwendet wurden, beliefen sich auf etwa 1300 Euro, aber es wird an der Portierung auf kostengĂŒnstigere Boards gearbeitet. Zum Beispiel wird die Lösung auf Basis von 700 Euro kosten, wĂ€hrend die Lösung auf Basis von 400 Euro kosten wird.
Die Leistungstest fĂŒr die Verbindung eines Clients mit dem USB-Adapter TL-WDN4200 N900 zu einem Access Point, der auf OpenWifi basiert, ergaben eine Durchsatzrate von 30,6 Mbps (TCP) und 38,8 Mbps (UDP) bei der DatenĂŒbertragung vom Access Point zum Client sowie 17,0 Mbps (TCP) und 21,5 Mbps (UDP) bei der Ăbertragung vom Client zum Access Point. Zur Verwaltung können Standard-Linux-Dienstprogramme wie ifconfig und iwconfig sowie das spezielle Dienstprogramm sdrctl verwendet werden, das ĂŒber netlink arbeitet und es ermöglicht, SDR auf niedriger Ebene (Register zu manipulieren, Zeiteinstellungen zu Ă€ndern usw.) zu steuern.

Von anderen Open-Source-Projekten, die mit Wi-Fi-Stacks experimentieren, kann das Projekt , das einen kompatiblen IEEE 802.11 a/g/p auf Basis von GNU Radio und einem normalen PC entwickelt, erwÀhnen. Auch die Software-Open-Source-Wireless-Stacks 802.11 entwickeln Projekte wie und (Microsoft Research Software Radio).
Quelle: opennet.ru
