Projekt OpenWifi z implementacją otwartego chipa Wi-Fi opartego na FPGA i SDR

Na ostatniej konferencji FOSDEM 2020 przedstawione projekt openwifi, opracowując pierwszą otwartą implementację pełnego stosu Wi-Fi 802.11a/g/n, którego kształt i modulacja sygnału są określone w oprogramowaniu (SDR, Software Defined Radio). OpenWifi pozwala na stworzenie w pełni kontrolowanej implementacji wszystkich komponentów urządzenia bezprzewodowego, w tym warstw niskiego poziomu, które w konwencjonalnych kartach bezprzewodowych są implementowane na poziomie chipów, które nie podlegają audytowi. Kod komponenty oprogramowaniaa także schematy i opisy bloki sprzętowe w języku Verilog dla FPGA dystrybuowane są na licencji AGPLv3.

Komponent sprzętowy zademonstrowanego działającego prototypu oparty jest na układzie FPGA Xilinx Zynq i uniwersalnym transceiverze (RF) AD9361. OpenWifi wykorzystuje architekturę SoftMAC, co oznacza implementację głównego stosu bezprzewodowego 802.11 (high-MAC) po stronie sterownika i obecność warstwy low-MAC po stronie FPGA. Stos bezprzewodowy wykorzystuje podsystem mac80211 dostarczany przez jądro Linuksa. Interakcja z SDR odbywa się poprzez specjalny sterownik.

Projekt OpenWifi z implementacją otwartego chipa Wi-Fi opartego na FPGA i SDR

Najważniejsze cechy:

  • Pełne wsparcie dla 802.11a/g i częściowe wsparcie dla 802.11n MCS 0~7 (na razie tylko PHY rx). Istnieją plany obsługi standardu 802.11ax;
  • Szerokość pasma 20 MHz i zakres częstotliwości od 70 MHz do 6 GHz;
  • Tryby pracy: Doraźny (sieć urządzeń klienckich), punkt dostępowy, stacja i monitoring;
  • Implementacja protokołu warstwy łącza po stronie FPGA DCF (Rozproszona Funkcja Koordynacji) przy wykorzystaniu metody 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 szczeliny itp.
  • Krojenie czasu (Podział czasu) na podstawie adresu MAC;
  • Łatwa zmiana szerokości pasma i częstotliwości:
    2 MHz dla 802.11ah i 10 MHz dla 802.11p;

Projekt OpenWifi z implementacją otwartego chipa Wi-Fi opartego na FPGA i SDR

Obecnie OpenWifi zapewnia wsparcie Platformy SDR oparte na FPGA
Xilinx ZC706 z transceiverami Analog Devices FMCOMMS2/3/4, a także pakietami (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB i ADRV9361Z7035 SOM + ADRV1CRR-FMC. Uformowany do załadunku gotowy obraz Karty SD oparte na systemie ARM Linux. W planach jest obsługa ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 i
Xilinx ZCU102 + ADRV9371. Koszt komponentów pierwszego prototypu OpenWifi wyniósł około 1300 euro, ale trwają prace nad przenoszeniem na tańsze płyty. Na przykład koszt rozwiązania opartego na Urządzenia analogowe ADRV9364-Z7020 wyniesie 700 euro i na podstawie ZYNQ NH7020 - 400 euro.

Testowanie wydajności podłączenia klienta za pomocą adaptera USB TL-WDN4200 N900 do punktu dostępowego opartego na OpenWifi pozwoliło nam osiągnąć przepustowość 30.6 Mb/s (TCP) i 38.8 Mb/s (UDP) podczas przesyłania danych z punktu dostępowego do klienta i 17.0 Mb/s (TCP) i 21.5 Mb/s (UDP) przy transmisji od klienta do punktu dostępowego. Do zarządzania można wykorzystać standardowe narzędzia linuksowe, takie jak ifconfig i iwconfig, a także specjalistyczne narzędzie sdrctl, które działa poprzez netlink i pozwala na sterowanie pracą SDR na niskim poziomie (manipulowanie rejestrami, zmiana ustawień przedziału czasowego, itp.).

Wśród innych otwartych projektów eksperymentujących ze stosem Wi-Fi możemy zwrócić uwagę na projekt WimOpracowanie zgodne ze standardem IEEE 802.11 a/g/p nadajnik oparty na radiu GNU i zwykłym komputerze PC. Opracowywane są również projekty stosów bezprzewodowych z otwartym oprogramowaniem 802.11 Ziria и Sora (Radio oprogramowania badawczego firmy Microsoft).

Projekt OpenWifi z implementacją otwartego chipa Wi-Fi opartego na FPGA i SDR

Źródło: opennet.ru

Dodaj komentarz