OpenWifi,一个基于FPGA和SDR实现wifi的开源项目

openwifi

在FOSDEM 2020会议期间,它揭幕了 第一个开源开发 OpenWifi“ Wi-Fi 802.11 a / g / n” 通过编程(SDR,软件无线电)和FPGA定义的完整堆栈波形和调制。

关于项目的有趣之处 无线网络 允许您创建完全兼容Linux的实现 并控制无线设备的所有组件,包括常规无线适配器中的底层,这些底层在无法审核的芯片级别实现。 Verilog中针对FPGA语言的软件组件代码以及电路和硬件块描述均在AGPLv3许可下分发。

无线网络 使用SoftMAC架构, 这意味着在控制器侧实现了主802.11无线堆栈,而在FPGA侧则存在一个低MAC层。 Linux内核提供的mac80211子系统用作无线堆栈, 与SDR的交互是通过特殊的控制器完成的。

功能原型的硬件组件 证明了 基于Xilinx Zynq FPGA和AD9361通用收发器(RF).

主要特点 通过OpenWifi

  • 完全支持802.11a / g,部分支持802.11n MCS 0〜7(到目前为止仅PHY rx)。 计划支持802.11ax
  • 20MHz带宽和70 MHz至6 GHz频率范围
  • 操作模式:临时(客户端设备网络),访问点,站点和监视
  • 使用CSMA / CA方法的DCF(分布式协调功能)协议的FPGA实现。 提供10us的帧处理时间(SIFS)
  • 通道访问优先级可配置参数:RTS / CTS,自身的CTS,SIFS,DIFS,xIFS,时隙时间等。
  • 根据MAC地址的时间间隔
  • 轻松修改的带宽和频率:2ah为802.11MHz,10p为802.11MHz
  • OpenWifi当前支持具有Analog Devices FMCOMMS706 / 2/3收发器以及ADRV4Z9361 SOM + ADRV7035CRR-BOB和ADRV1Z9361 SOM + ADRVCR(FPGA + RF)封装的Xilinx ZC7035 FPGA SDR平台。

对于行政部门 可以使用标准的Linux实用程序,例如ifconfig和iwconfig以及通过netlink工作的专用sdrctl实用程序,并允许您以较低级别管理SDR(操纵寄存器,更改时间切片器设置等)。

在其他尝试使用Wi-Fi堆栈的开放项目中,我们可以提到Wime项目,该项目基于GNU Radio和普通PC开发了与IEEE 802.11 a / g / p兼容的发射机。

Ziria和Sora(微软研究软件电台)也正在开发802.11开放无线软件堆栈。

在性能测试中, 从将带有TL-WDN4200 N900 USB适配器的客户端连接到基于OpenWifi的访问点时获得的数据, 允许达到30.6Mbps(TCP)和38.8Mbps(UDP)的吞吐量 从接入点向客户端传输数据时,从客户端向接入点传输数据时分别为17.0Mbps(TCP)和21.5Mbps(UDP)。

这是连接到运行OpenWifi的接入点的电话的演示。

涉及的组件 在OpenWifi的第一个原型中 费用约1300欧元,但它们正在转移到便宜的盘子上。 例如,基于Analog Devices ADRV9364-Z7020的解决方案的成本为700欧元,基于ZYNQ NH7020的解决方案的成本约为400欧元。

排出

最后,对于那些有兴趣了解更多有关该项目或下载准备好的OpenWifi映像的人 可以通过得到它 到以下链接。

在这里,您可以找到有关在SD卡上使用和安装映像的信息(该映像基于Linux的ARM版本)。

当前支持该软件包的组件包括:ADRV9364Z7020 SOM + ADRV1CRR-BOB,Xilinx zed + FMCOMMS2 / 3/4,Xilinx ZCU102 + FMCOMMS2 / 3/4,以及Xilinx ZCU102 + ADRV9371。

数据来源: https://fosdem.org


成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。