OpenWifi, un projecte de codi obert per implementar wifi basat en FPGA i SDR

openwifi

Durant la conferència de la FOSDEM 2020 es va donar a conèixer el primer desenvolupament de codi obert de OpenWifi "Wi-Fi 802.11 a / g / n" de pila completa de forma d'ona i la modulació que es defineix mitjançant programació (SDR, Software Defined Radio) i FPGA.

L'interessant d'el projecte OpenWifi és que permet crear una implementació totalment compatible amb Linux i que controla tots els components d'un dispositiu sense fils, incloses les capes de baix nivell en adaptadors sense fils convencionals implementats a nivell de xips inaccessibles per a auditoria. El codi dels components de programari, així com els circuits i les descripcions dels blocs de maquinari en el llenguatge Verilog per FPGA, es distribueixen sota la llicència AGPLv3.

OpenWifi utilitza l'arquitectura SoftMAC, el que implica la implementació de la pila sense fils principal 802.11 al costat de el controlador i la presència d'una capa de sota MAC al costat FPGA. El subsistema mac80211 proporcionat pel nucli de Linux es fa servir com la pila sense fils, mentre que la interacció amb SDR es realitza a través d'un controlador especial.

El component de maquinari de l'prototip funcional demostrat es basa en el FPGA Xilinx Zynq i el Transceptor Universal (RF) AD9361.

De les principals característiques d'OpenWifi

  • Suport complet per 802.11a / g i suport parcial per 802.11n MCS 0 ~ 7 (fins ara només PHY rx). Els plans admeten 802.11ax
  • Ample de banda de 20 MHz i rang de freqüència de 70 MHz a 6 GHz
  • Maneres de funcionament: Ad-hoc (xarxa de dispositius client), punt d'accés, estació i monitoratge
  • La implementació FPGA d'el protocol DCF (funció de coordinació distribuïda) utilitzant el mètode CSMA / CA. Proporciona temps de processament de trama (SIFs) a 10US
  • Paràmetres configurables de prioritat d'accés a l'canal: RTS / CTS, CTS a si mateix, SIFs, DIFS, xIFS, temps de ranura, etc.
  • Per interval de temps basat en les adreces MAC
  • Ample de banda i freqüència fàcilment modificables: 2MHz per 802.11ah i 10MHz per 802.11p
  • OpenWifi actualment és compatible amb les plataformes Xilinx ZC706 FPGA SDR amb transceptors FMCOMMS2 / 3/4 d'Analog Devices, així com els paquets ADRV9361Z7035 SOM + ADRV1CRR-BOB i ADRV9361Z7035 SOM + ADRVCR (FPGA + RF).

Per a l'administració, es poden utilitzar utilitats estàndard de Linux com ifconfig i iwconfig, Així com una utilitat sdrctl especialitzada que funciona a través d'Netlink i li permet administrar SDR a un nivell baix (manipular registres, canviar la configuració de segmentació de temps, etc.).

Entre d'altres projectes oberts que experimenten amb la pila de Wi-Fi, podem esmentar el projecte Wime, que desenvolupa un transmissor compatible amb IEEE 802.11 a / g / p basat en GNU Ràdio i un PC normal.

Així com també les piles sense fils obertes de programari 802.11 també estan sent desenvolupades per Ziria i Sora (Microsoft Research Programari Ràdio).

Durant les proves de rendiment, de les dades que es van obtenir a el connectar un client amb un adaptador USB TL-WDN4200 N900 a un punt d'accés basat en OpenWifi, permetre aconseguir un rendiment de 30.6Mbps (TCP) i 38.8Mbps (UDP) a l'transmetre dades des d'un punt d'accés a un client i 17.0Mbps (TCP) i 21.5Mbps (UDP) quan es transmet des d'un client a un punt d'accés.

Aquí hi ha una demostració d'un telèfon que es connecta a el punt d'accés que executa OpenWifi.

Els components involucrats en el primer prototip de OpenWifi costen al voltant de 1300 euros, Però s'estan transferint a plaques més barates. Per exemple, el cost d'una solució basada en Analog Devices ADRV9364-Z7020 serà de 700 euros i en base a ZYNQ NH7020 que té un cost d'uns 400 euros.

Descàrrega

Finalment per als que estiguin interessats a conèixer més sobre el projecte o descarregar la imatge preparada de OpenWifi poden obtenir-la dirigint- a el següent enllaç.

Aqui podran trobar informació sobre l'ús i instal·lació de la imatge en una targeta SD (la imatge està basada en una versió ARM de Linux).

Dels components que actualment admeten el paquet, es troba: ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2 / 3/4, Xilinx ZCU102 + FMCOMMS2 / 3/4 i Xilinx ZCU102 + ADRV9371.

font: https://fosdem.org


El contingut d'l'article s'adhereix als nostres principis de ètica editorial. Per notificar un error punxa aquí.

Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.