На проведената конференция FOSDEM 2020 проект , развиваща първата открита реализация на пълен стек Wi-Fi 802.11a/g/n, форма на сигнала и модулация, задавани софтуерно (SDR, Software Defined Radio). OpenWifi позволява създаването на напълно контролирана реализация на всички компоненти на безжичното устройство, включително нискоуровневите слоеве, които в обикновените безжични адаптери се реализират на ниво недостъпни за одит чипове. Код , както и (Verilog) хардуерни блокове на база FPGA се разпространяват под лицензия AGPLv3.
Хардуерната част на демонстрирания работен прототип е базирана на FPGA Xilinx Zynq и универсален предавател/приемник (RF) AD9361. В OpenWifi се прилага архитектура SoftMAC, предполагаща реализиране на основния безжичен стек 802.11 (high-MAC) от страната на драйвера и наличието на low-MAC слой от страната на FPGA. Като безжичен стек се използва подсистема mac80211, предоставяна от ядрата на Linux. Взаимодействието със SDR става посредством специален драйвер.
Основни възможности:
- Пълна поддръжка на 802.11a/g и частична поддръжка на 802.11n MCS 0~7 (в момента само PHY rx). В плановете е поддръжката на 802.11ax;
- Ширина на лентата 20MHz и честотен диапазон от 70 MHz до 6 GHz;
- Режими на работа: (мрежа от клиентски устройства), точка за достъп, станция и мониторинг;
- Реализация от страна на FPGA на протокола на канално ниво (Distributed Coordination Function), използващ метода CSMA/CA. Осигурява време за обработка на кадри () на ниво 10us;
- Настройки за приоритета на достъпа до канала: продължителност RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, slot-time и др.
- Квантуване на времето () на базата на MAC-адреса;
- Лесно променлива ширина на лентата и честота:
2MHz за 802.11ah и 10MHz за 802.11p;
В момента в OpenWifi е осигурена SDR платформа на база FPGA
Xilinx ZC706 с приемопредаватели Analog Devices FMCOMMS2/3/4, а също и комплекти (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB и ADRV9361Z7035 SOM + ADRV1CRR-FMC. За зареждане е подготвено SD карта на база ARM Linux. В плановете е поддръжката на комплекти ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 и
Xilinx ZCU102 + ADRV9371.
Тестът за производителността на връзката на клиента с USB адаптер TL-WDN4200 N900 към точка за достъп на базата на openwifi показа скорост от 30.6Mbps (TCP) и 38.8Mbps (UDP) при предаване на данни от точката за достъп към клиента и 17.0Mbps (TCP) и 21.5Mbps (UDP) при предаване от клиента към точка за достъп. За управление могат да се използват стандартни утилити на Linux, като ifconfig и iwconfig, както и специализирана утилита sdrctl, работеща през netlink и позволяваща управление на работата на SDR на ниско ниво (манипулиране на регистрите, промяна на настройки за квантоване на време и т.н.).

От другите отворени проекти, експериментиращи с Wi-Fi стека, може да се отбележи проектът , който развива съвместим предавател с IEEE 802.11 a/g/p Ziria и Docker Compose: опростяване на работата с използване на Makefile
Източник: opennet.ru
