На последната конференция FOSDEM 2020 г проект , разработвайки първото отворено внедряване на пълния Wi-Fi 802.11a/g/n стек, формата на сигнала и модулацията в който се определят в софтуера (SDR, софтуерно дефинирано радио). OpenWifi ви позволява да създадете напълно контролирана реализация на всички компоненти на безжично устройство, включително слоеве на ниско ниво, които в конвенционалните безжични адаптери се изпълняват на ниво чипове, които не подлежат на одит. Код И (Verilog) Базираните на FPGA хардуерни блокове са лицензирани под AGPLv3.
Хардуерният компонент на демонстрирания работещ прототип е базиран на Xilinx Zynq FPGA и универсален 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 (функция за разпределена координация), използвайки метода CSMA/CA. Осигурява време за обработка на рамката () на ниво 10us;
- Конфигурируеми параметри за приоритет на достъп до канала: RTS/CTS продължителност, CTS-to-self, SIFS, DIFS, xIFS, време на слот и др.
- Разрязване на времето () въз основа на MAC адрес;
- Лесно променяща се честотна лента и честота:
2MHz за 802.11ah и 10MHz за 802.11p;
В момента OpenWifi предоставя FPGA базирани SDR платформи
Xilinx ZC706 с аналогови устройства 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.6 Mbps (TCP) и 38.8 Mbps (UDP) за пренос на данни от точката за достъп към клиента и 17.0 Mbps (TCP) и 21.5 Mbps (UDP) за пренос на данни от клиента към точката за достъп. За управление могат да се използват вградени помощни програми. Linux, като например ifconfig и iwconfig, както и специализирана помощна програма sdrctl, която работи чрез netlink и ви позволява да контролирате SDR операцията на ниско ниво (манипулиране на регистри, промяна на настройките за квантуване на времето и др.).

Сред другите отворени проекти, експериментиращи с Wi-Fi стека, можем да отбележим проекта Разработване на IEEE 802.11 a/g/p съвместимост базиран на GNU Radio и обикновен компютър. Софтуерните отворени 802.11 безжични стекове също разработват проекти и (Microsoft Research Software Radio).
Източник: opennet.ru
