在上届 FOSDEM 2020 会议上
演示的工作原型的硬件组件基于 Xilinx Zynq FPGA 和 AD9361 通用收发器 (RF)。 OpenWifi 使用 SoftMAC 架构,这意味着在驱动程序端实现主要 802.11 无线堆栈(high-MAC),并在 FPGA 端存在 low-MAC 层。 无线堆栈使用 Linux 内核提供的 mac80211 子系统。 与SDR的交互是通过特殊的驱动程序进行的。
主要特点:
- 完全支持 802.11a/g,部分支持 802.11n MCS 0~7(目前仅支持 PHY rx)。 有计划支持802.11ax;
- 带宽 20MHz,频率范围 70 MHz 至 6 GHz;
- 操作模式:
特别指定 (客户端设备网络)、接入点、站和监控; - FPGA端链路层协议的实现
DCF (分布式协调功能),采用CSMA/CA方法。 提供帧处理时间(SIFS ) 电平为 10us; - 可配置的通道访问优先级参数:RTS/CTS持续时间、CTS-to-self、SIFS、DIFS、xIFS、时隙等。
- 时间切片(
时间切片 )基于MAC地址; - 轻松更改带宽和频率:
2ah 为 802.11MHz,10p 为 802.11MHz;
目前,OpenWifi 提供
Xilinx ZC706 配备 Analog Devices FMCOMMS2/3/4 收发器,以及捆绑包 (FPGA + RF) ADRV9361Z7035 SOM + ADRV1CRR-BOB 和 ADRV9361Z7035 SOM + ADRV1CRR-FMC。 成型用于装载
赛灵思 ZCU102 + ADRV9371。 第一个 OpenWifi 原型所涉及的组件成本约为 1300 欧元,但正在移植到更便宜的主板上。 例如,基于的解决方案的成本
通过测试使用 TL-WDN4200 N900 USB 适配器将客户端连接到基于 OpenWifi 的接入点的性能,我们可以在从接入点向客户端传输数据时实现 30.6Mbps (TCP) 和 38.8Mbps (UDP) 的吞吐量,并且从客户端传输到接入点时为 17.0Mbps (TCP) 和 21.5Mbps (UDP)。 对于管理,可以使用标准 Linux 实用程序,例如 ifconfig 和 iwconfig,以及专用实用程序 sdrctl,它通过 netlink 工作,并允许您在低级别控制 SDR 的操作(操作寄存器、更改时间片设置、 ETC。)。
在其他尝试 Wi-Fi 堆栈的开放项目中,我们可以注意到该项目
来源: opennet.ru