OpenWiFi简介与学习记录

OpenWiFi简介与学习记录

最近在做毕设,学习SDR,OpenWiFi是一个很好的可以用来二次开发的开源平台,故简略记录一下。

1. OpenWiFi简介

在这里插入图片描述

OpenWiFi是一个基于zynq+AD9361的软件定义无线电(SDR)设计,是IEEE 802.11/WiFi协议的实现。作者是Jiao Xianjun。
该项目的GitHub网址:https://github.com/open-sdr/openwifi

其具有以下特性:

  • 兼容IEEE 802.11n
  • 20MHz带宽
  • Ad-hoc, Station, AP, monitor模式
  • 在FPGA实现CSMA/CA,10us SIFS
  • ……

2. 框架

在这里插入图片描述
Zynq组合了一个双核ARM Cortex-A9 处理器和一个传统FPGA,架构中实现了工业标准的AXI接口,在芯片的两个部分之间实现了高带宽、低延迟的连接。Xilinx将其称为全可编程SoC。
OpenWiFi项目的PHY与low MAC在zynq中的Xilinx 7 系列架构FPGA中实现,ARM层实现了驱动,基于Linux mac80211 subsystem。

3. Quick Start

先不看具体的内容,跑起来再说。

在这里插入图片描述
OpenWiFi支持以上的开发板组合,我使用的是zedboard,下载相应的img文件。下载下来应是.img.xz格式,将img解压出来。准备一张SD卡,如果用的windows系统,用烧录软件如win32disk将镜像烧到SD卡里就行了。

在这里插入图片描述
将openwifi文件夹中符合自己板子的boot和devicetree以及uImage复制到根目录,插到zed板子上就可以运行了。看到板子上蓝色LED亮了。

4. 连接与配置

用zed的uart串口连上电脑,在mobaXterm中新建session,进入系统。运行fosdem.sh脚本就可以看到openwifi出现了,可以用手机和电脑连接上去。

5. Ad-hoc模式

在一快板子上运行sdr-ad-hoc-up.sh,另一个板子上运行sdr-ad-hoc-join.sh就可以进行点对点通信。脚本里的代码实际上就是配置了一下ip,essid,channel等参数。
ping一下,发现速度还可以。

6. 仔细研究

接下来可以研究一下OpenWifi的代码,以及在上层做一些优化、算法。

参考资料:

  1. Linux 80211mac subsystem: https://www.kernel.org/doc/html/v4.9/80211/introduction.html
  2. https://wireless.wiki.kernel.org/en/users
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值