Projekt OpenWifi opracowuje otwarty układ Wi-Fi oparty 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 schemat (Verilog) Bloki sprzętowe oparte na FPGA są objęte licencją 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 opracowuje otwarty układ Wi-Fi oparty 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 opracowuje otwarty układ Wi-Fi oparty 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.

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 oraz 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 opracowuje otwarty układ Wi-Fi oparty na FPGA i SDR

Źródło: opennet.ru

Dodaj komentarz