Projekt OpenWifi rozwija otwarty chip Wi-Fi oparty na FPGA i SDR

Na konferencji FOSDEM 2020 zaprezentowano projekt OpenWifi, rozwijającej pierwszą otwartą implementację pełnego stosu Wi-Fi 802.11a/g/n, której forma sygnału i modulacja są określane programowo (SDR, Software Defined Radio). OpenWifi pozwala na stworzenie w pełni kontrolowanej implementacji wszystkich komponentów urządzenia bezprzewodowego, w tym warstw niskopoziomowych, które w typowych adapterach bezprzewodowych są realizowane na poziomie dostępnych tylko do audytu chipów. Kod komponentów oprogramowania, a także schematy (Verilog) bloków sprzętowych opartych na FPGA są rozpowszechniane na licencji AGPLv3.

Sprzętowa część zaprezentowanego prototypu opiera się na FPGA Xilinx Zynq oraz uniwersalnym nadajniku-odbiorniku (RF) AD9361. W OpenWifi zastosowano architekturę SoftMAC, która zakłada realizację głównego stosu bezprzewodowego 802.11 (high-MAC) po stronie sterownika oraz obecność warstwy low-MAC po stronie FPGA. Jako stos bezprzewodowy wykorzystywana jest podsystém mac80211 dostarczany przez jądro Linux. Interakcja z SDR odbywa się za pośrednictwem specjalnego sterownika.

Projekt OpenWifi rozwija otwarty chip Wi-Fi oparty na FPGA i SDR

Podstawowe funkcje:

  • Pełne wsparcie dla 802.11a/g oraz częściowe wsparcie dla 802.11n MCS 0~7 (na razie tylko PHY rx). W planach jest wsparcie dla 802.11ax;
  • Pasmo 20MHz i zakres częstotliwości od 70 MHz do 6 GHz;
  • Tryby pracy: Ad-hoc (sieć urządzeń klienckich), punkt dostępowy, stacja i monitorowanie;
  • Implementacja protokołu warstwy łącza DCF (Distributed Coordination Function), wykorzystującego metodę CSMA/CA. Zapewnia czas przetwarzania ramki (SIFS) na poziomie 10us;
  • Konfigurowalne parametry priorytetu dostępu do kanału: czas trwania RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, czas slotu itp.
  • Kwotowanie czasu (Time slicing) na podstawie adresu MAC;
  • Łatwo zmieniana szerokość pasma i częstotliwość:
    2MHz dla 802.11ah oraz 10MHz dla 802.11p;

Projekt OpenWifi rozwija otwarty chip Wi-Fi oparty na FPGA i SDR

Obecnie w OpenWifi zapewniono wsparcie platformy SDR oparte na FPGA
Xilinx ZC706 z nadajnikami-odbiornikami Analog Devices FMCOMMS2/3/4, a także zestawów (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB oraz ADRV9361Z7035 SOM + ADRV1CRR-FMC. Do załadunku przygotowano gotowy obraz karty SD oparty na ARM Linux. W planach wsparcie dla zestawów ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 oraz
Xilinx ZCU102 + ADRV9371.

Testowanie wydajności połączenia klienta za pomocą adaptera USB TL-WDN4200 N900 do punktu dostępowego opartego na openwifi wykazało przepustowość 30,6 Mbps (TCP) i 38,8 Mbps (UDP) podczas przesyłania danych z punktu dostępowego do klienta oraz 17,0 Mbps (TCP) i 21,5 Mbps (UDP) przy przesyłaniu od klienta do punktu dostępowego. Do zarządzania można wykorzystać standardowe narzędzia Linux, takie jak ifconfig i iwconfig, a także specjalistyczne narzędzie sdrctl, które działa przez netlink i pozwala na zarządzanie działaniem SDR na niskim poziomie (manipulacja rejestrami, zmiana ustawień kwantyzacji czasu itp.).

Odtwarzaj wideo

Inne otwarte projekty eksperymentujące ze stosem Wi-Fi to projekt Wime, rozwijający zgodny z IEEE 802.11 a/g/p transmiter oparty na GNU Radio i zwykłym PC. Programowe otwarte staki bezprzewodowe 802.11 rozwijają również projekty Ziria i Sora (Microsoft Research Software Radio).

Projekt OpenWifi rozwija otwarty chip Wi-Fi oparty na FPGA i SDR

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster