Проект OpenWifi развивает открытый Wi-Fi чип на базе FPGA и SDR

На прошедшей конференции FOSDEM 2020 представлен проект OpenWifi, развивающий первую открытую реализацию полного стека 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 производится через специальный драйвер.

Проект OpenWifi развивает открытый Wi-Fi чип на базе FPGA и SDR

Основные возможности:

  • Полная поддержка 802.11a/g и частичная поддержка 802.11n MCS 0~7 (пока только PHY rx). В планах поддержка 802.11ax;
  • Полоса пропускания 20MHz и диапазон частот от 70 MHz до 6 GHz;
  • Режимы работы: Ad-hoc (сеть из клиентских устройств), точка доступа, станция и мониторинг;
  • Реализация на стороне FPGA протокола канального уровня DCF (Distributed Coordination Function), использующего метод CSMA/CA. Обеспечивается время обработки кадра (SIFS) на уровне 10us;
  • Настраиваемые параметры приоритета доступа к каналу: продолжительность RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, slot-time и т.п.
  • Квантование времени (Time slicing) на базе MAC-адреса;
  • Легко изменяемая полоса пропускания и частота:
    2MHz для 802.11ah и 10MHz для 802.11p;

Проект OpenWifi развивает открытый Wi-Fi чип на базе FPGA и SDR

В настоящее время в 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 стеком можно отметить проект Wime, развивающий совместимый с IEEE 802.11 a/g/p передатчик на базе GNU Radio и обычного ПК. Программные открытые беспроводные стеки 802.11 также развивают проекты Ziria և Sora (Microsoft Research Software Radio).

Проект OpenWifi развивает открытый Wi-Fi чип на базе FPGA и SDR

Աղբյուր: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster