Proiect OpenWifi cu implementarea unui cip Wi-Fi deschis bazat pe FPGA și SDR

La ultima conferință FOSDEM 2020 prezentat proiect openwifi, dezvoltând prima implementare deschisă a stivei complete Wi-Fi 802.11a/g/n, forma și modulația semnalului în care este specificată în software (SDR, Software Defined Radio). OpenWifi vă permite să creați o implementare complet controlată a tuturor componentelor unui dispozitiv wireless, inclusiv a straturilor de nivel scăzut, care în adaptoarele wireless convenționale sunt implementate la nivelul cipurilor care nu sunt auditabile. Cod componente softwareși diagrame și descrieri Blocurile hardware în limbajul Verilog pentru FPGA sunt distribuite sub licența AGPLv3.

Componenta hardware a prototipului de lucru demonstrat se bazează pe Xilinx Zynq FPGA și pe transceiver-ul universal (RF) AD9361. OpenWifi folosește arhitectura SoftMAC, care implică implementarea stivei wireless principale 802.11 (high-MAC) pe partea driverului și prezența unui strat low-MAC pe partea FPGA. Stiva wireless folosește subsistemul mac80211 furnizat de kernel-ul Linux. Interacțiunea cu SDR se realizează printr-un driver special.

Proiect OpenWifi cu implementarea unui cip Wi-Fi deschis bazat pe FPGA și SDR

Caracteristici principale:

  • Suport complet pentru 802.11a/g și suport parțial pentru 802.11n MCS 0~7 (PHY rx doar pentru moment). Există planuri pentru a suporta 802.11ax;
  • Lățimea de bandă 20MHz și intervalul de frecvență de la 70 MHz la 6 GHz;
  • Moduri de operare: Ad-hoc (rețea de dispozitive client), punct de acces, stație și monitorizare;
  • Implementarea protocolului stratului de legătură pe partea FPGA DCF (Funcția de coordonare distribuită), folosind metoda CSMA/CA. Oferă timp de procesare a cadrelor (SIFS) la nivelul 10us;
  • Parametri de prioritate de acces la canal configurabili: durata RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, slot-time etc.
  • Tăierea timpului (Tăierea timpului) pe baza adresei MAC;
  • Lățimea de bandă și frecvența ușor de schimbat:
    2MHz pentru 802.11ah și 10MHz pentru 802.11p;

Proiect OpenWifi cu implementarea unui cip Wi-Fi deschis bazat pe FPGA și SDR

În prezent, OpenWifi oferă sprijini Platforme SDR bazate pe FPGA
Xilinx ZC706 cu transceiver Analog Devices FMCOMMS2/3/4, precum și pachete (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB și ADRV9361Z7035 SOM + ADRV1CRR-FMC. Format pentru încărcare imagine terminată Carduri SD bazate pe ARM Linux. Există planuri pentru a accepta ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 și
Xilinx ZCU102 + ADRV9371. Costul componentelor implicate în primul prototip OpenWifi a fost de aproximativ 1300 de euro, dar portarea pe plăci mai ieftine este în curs. De exemplu, costul unei soluții bazate pe Analog Devices ADRV9364-Z7020 va fi de 700 de euro, iar pe bază ZYNQ NH7020 - 400 euro.

Testarea performanței de conectare a unui client cu un adaptor USB TL-WDN4200 N900 la un punct de acces bazat pe OpenWifi ne-a permis să atingem un debit de 30.6 Mbps (TCP) și 38.8 Mbps (UDP) la transferul de date de la punctul de acces la client și 17.0 Mbps (TCP) și 21.5 Mbps (UDP) atunci când sunt transmise de la client la punctul de acces. Pentru management, pot fi utilizate utilitare standard Linux, cum ar fi ifconfig și iwconfig, precum și un utilitar specializat sdrctl, care funcționează prin netlink și vă permite să controlați funcționarea SDR la un nivel scăzut (manipulați registre, modificați setările intervalului de timp, etc.).

Printre alte proiecte deschise care experimentează cu stiva Wi-Fi, putem remarca proiectul WimeDezvoltarea conformă cu IEEE 802.11 a/g/p transmiţător bazat pe GNU Radio și un computer obișnuit. Stivele wireless 802.11 deschise software sunt, de asemenea, în curs de dezvoltare Ziria и Sora (Microsoft Research Software Radio).

Proiect OpenWifi cu implementarea unui cip Wi-Fi deschis bazat pe FPGA și SDR

Sursa: opennet.ru

Adauga un comentariu