Projekt OpenWifi s implementací otevřeného Wi-Fi čipu na bázi FPGA a SDR

Na poslední konferenci FOSDEM 2020 prezentovány projekt openwifi, vyvíjí první otevřenou implementaci plného Wi-Fi 802.11a/g/n stacku, jehož tvar a modulace signálu jsou specifikovány v softwaru (SDR, Software Defined Radio). OpenWifi umožňuje vytvořit plně řízenou implementaci všech komponent bezdrátového zařízení, včetně nízkoúrovňových vrstev, které jsou u běžných bezdrátových adaptérů implementovány na úrovni čipů, které nejsou auditovatelné. Kód softwarové komponentya diagramy a popisy hardwarové bloky v jazyce Verilog pro FPGA jsou distribuovány pod licencí AGPLv3.

Hardwarová součást demonstrovaného funkčního prototypu je založena na Xilinx Zynq FPGA a AD9361 univerzálním transceiveru (RF). OpenWifi využívá architekturu SoftMAC, která implikuje implementaci hlavního bezdrátového zásobníku 802.11 (high-MAC) na straně ovladače a přítomnost vrstvy low-MAC na straně FPGA. Bezdrátový zásobník používá subsystém mac80211 poskytovaný linuxovým jádrem. Interakce s SDR se provádí prostřednictvím speciálního ovladače.

Projekt OpenWifi s implementací otevřeného Wi-Fi čipu na bázi FPGA a SDR

Základní možnosti:

  • Plná podpora pro 802.11a/g a částečná podpora pro 802.11n MCS 0~7 (zatím pouze PHY rx). Existují plány na podporu 802.11ax;
  • Šířka pásma 20 MHz a frekvenční rozsah od 70 MHz do 6 GHz;
  • Provozní režimy: Ad hoc (síť klientských zařízení), přístupový bod, stanice a monitorování;
  • Implementace protokolu linkové vrstvy na straně FPGA DCF (Distributed Coordination Function), pomocí metody CSMA/CA. Poskytuje čas zpracování snímku (SIFS) na úrovni 10us;
  • Konfigurovatelné parametry priority přístupu ke kanálu: trvání RTS/CTS, CTS-to-self, SIFS, DIFS, xIFS, slot-time atd.
  • Časové dělení (Krájení času) na základě MAC adresy;
  • Snadno měnitelná šířka pásma a frekvence:
    2 MHz pro 802.11ah a 10 MHz pro 802.11p;

Projekt OpenWifi s implementací otevřeného Wi-Fi čipu na bázi FPGA a SDR

V současné době poskytuje OpenWifi podpora Platformy SDR založené na FPGA
Xilinx ZC706 s analogovými zařízeními FMCOMMS2/3/4 transceivery a také balíčky (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB a ADRV9361Z7035 SOM + ADRV1CRR-FMC. Vytvořeno pro nakládání hotový obrázek SD karty založené na ARM Linuxu. Plánuje se podpora ADRV9364Z7020 SOM + ADRV1CRR-BOB, Xilinx zed + FMCOMMS2/3/4, Xilinx ZCU102 + FMCOMMS2/3/4 a
Xilinx ZCU102 + ADRV9371. Náklady na komponenty zapojené do prvního prototypu OpenWifi byly asi 1300 eur, ale probíhá přenos na levnější desky. Například náklady na řešení založené na Analogová zařízení ADRV9364-Z7020 bude 700 eur a na zákl ZYNQ NH7020 - 400 eur.

Testování výkonu připojení klienta pomocí USB adaptéru TL-WDN4200 N900 k přístupovému bodu založenému na OpenWifi nám umožnilo dosáhnout propustnosti 30.6 Mbps (TCP) a 38.8 Mbps (UDP) při přenosu dat z přístupového bodu ke klientovi a 17.0 Mbps (TCP) a 21.5 Mbps (UDP) při přenosu z klienta do přístupového bodu. Pro správu lze použít standardní linuxové utility, jako jsou ifconfig a iwconfig, a také specializovanou utilitu sdrctl, která funguje přes netlink a umožňuje řídit provoz SDR na nízké úrovni (manipulovat s registry, měnit nastavení časového řezu, atd.).

Mezi dalšími otevřenými projekty experimentujícími s Wi-Fi stackem můžeme zaznamenat projekt WimeVývoj kompatibilní s IEEE 802.11 a/g/p vysílač založené na GNU Radio a běžném PC. Softwarové otevřené bezdrátové stohy 802.11 také rozvíjejí projekty Ziria и Sora (Microsoft Research Software Radio).

Projekt OpenWifi s implementací otevřeného Wi-Fi čipu na bázi FPGA a SDR

Zdroj: opennet.ru

Přidat komentář