Lors de la conférence FOSDEM 2020 le projet , développant la première réalisation ouverte d'une pile complète Wi-Fi 802.11a/g/n, où la forme du signal et la modulation sont définies par logiciel (SDR, Software Defined Radio). OpenWifi permet de créer une réalisation totalement contrôlée de tous les composants d'un appareil sans fil, y compris les couches de bas niveau, qui dans les adaptateurs sans fil ordinaires sont réalisées au niveau de puces non auditables. Le code , ainsi que de blocs matériels en Verilog pour FPGA sous licence AGPLv3.
La composante matérielle du prototype de travail présenté est basée sur le FPGA Xilinx Zynq et le transcepteur universel (RF) AD9361. OpenWifi utilise l'architecture SoftMAC, qui implique la réalisation de la pile sans fil 802.11 (high-MAC) du côté du pilote et la présence d'une couche low-MAC du côté du FPGA. La sous-système mac80211 fournie par le noyau Linux est utilisée pour la pile sans fil. L'interaction avec le SDR se fait via un pilote spécial.
Fonctionnalités principales :
- Prise en charge complète de 802.11a/g et prise en charge partielle de 802.11n MCS 0~7 (pour l'instant seulement PHY rx). La prise en charge de 802.11ax est prévue.
- Bande passante de 20 MHz et plage de fréquence de 70 MHz à 6 GHz ;
- Modes de fonctionnement : (réseau d'appareils clients), point d'accès, station et surveillance ;
- Mise en œuvre du protocole de couche liaison (Distributed Coordination Function), utilisant la méthode CSMA/CA. Le temps de traitement des trames est assuré à) au niveau de 10us ;
- Paramètres de priorité d'accès au canal configurables : durée RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, temps de slot, etc.
- Quantification du temps () basée sur l'adresse MAC ;
- Bande passante et fréquence facilement modifiables :
2 MHz pour 802.11ah et 10 MHz pour 802.11p ;
Actuellement, OpenWifi assure des plateformes SDR basées sur les FPGA
Xilinx ZC706 avec des transcepteurs Analog Devices FMCOMMS2/3/4, ainsi que des combinaisons (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB et ADRV9361Z7035 SOM + ADRV1CRR-FMC. Pour le téléchargement, une pour carte SD basée sur ARM Linux. La prise en charge des combinaisons ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 et
Xilinx ZCU102 + ADRV9371. Le coût des composants utilisés dans le premier prototype OpenWifi était d'environ 1300 euros, mais un portage vers des cartes moins chères est en cours. Par exemple, le coût de la solution basée sur sera de 700 euros, tandis que celle basée sur — 400 euros.
Des tests de performance de la connexion client avec l'adaptateur USB TL-WDN4200 N900 à un point d'accès OpenWifi ont permis d'atteindre des débits de 30,6 Mbps (TCP) et 38,8 Mbps (UDP) lors de la transmission de données du point d'accès au client, et 17,0 Mbps (TCP) et 21,5 Mbps (UDP) lors de la transmission du client vers le point d'accès. Les utilitaires Linux standards, tels que ifconfig et iwconfig, ainsi qu'un utilitaire spécialisé, sdrctl, fonctionnant via netlink et permettant de gérer le SDR à un niveau bas (manipulation des registres, modification des réglages de quantification temporelle, etc.) peuvent être utilisés pour la gestion.

Parmi d'autres projets ouverts expérimentant avec la pile Wi-Fi, on peut citer le projet , qui développe un émetteur compatible avec IEEE 802.11 a/g/p Ziria et Docker Compose : simplification du travail avec Makefile
Source : opennet.ru
