786|1

278

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

全志XR806芯片Wi-Fi测试:自定义发送802.11帧(Beacon篇) [复制链接]

 

XR806是一款使用ARMv8-M的Wi-Fi BLE Combo MCU。本文使用XR806开发板以及基于FreeRTOS的XR806 SDK实现了自定义发送802.11 Beacon帧,并进行了无线抓包分析以及扫描测试来验证帧的发送结果。

环境配置过程

环境搭建可以参考官方文档开发环境搭建。本测试中使用的开发环境为Ubuntu 22.04。需要注意的是,在下载ARM Toolchain时,由于网站更新,文档中链接已不可用,当前可用的下载链接为https://developer.arm.com/downloads/-/gnu-rm,在其中找到对应的gcc-arm-none-eabi-8-2019-q3-update版本下载即可。

配置好环境后选取某个Demo或者Example进行编译,在Ubuntu下,使用的烧录工具为SDK中tools目录下的phoenixMC可执行程序,示例的烧录命令为

其他参数信息可以使用-h获取。烧录好后可以连接串口查看输出,控制台输出可能会出现换行不对齐的情况,此时需要进行换行修正。在本次测试中使用的串口工具为picocom,需要将输出的\n转为\r\n示例的连接串口命令为

在烧录时需要让开发板进入升级模式,如果当前程序支持upgrade命令,可以直接发送upgrade命令。若不支持,需要短接开发板上的两个触点或者使用Windows下的烧录工具,在工具上勾选硬件复位烧写模式。

 

测试过程

通过浏览XR806的SDK可以发现,在wlan.h中提供有APIint wlan_send_raw_frame(struct netif *netif, int type, uint8_t *buffer, int len);。该API可以支持发送自定义的802.11帧,只需要提供网络接口,帧类型,数据帧和长度即可。受

链接已隐藏,如需查看请登录或者注册
启发,在本测试中基于该API发送自定义的Beacon帧,达到同时存在多个AP的假象。在IBSS网络架构中,AP每隔一段时间就会向外界发出一个Beacon帧用来宣告自己802.11网络的存在。平时Wi-Fi的被动扫描也是基于Beacon帧进行。

使用API构造BEACON

进一步浏览SDK可以发现,SDK中提供了wlan_construct_beacon的API,这简化了我们构造Beacon的过程。只要提供beacon的部分字段信息即可,如SA,DA,BSSID,Channel等。具体代码如下:

代码的基本逻辑为:首先预定义好需要发送的SSID及其对应的BSSID,然后在主函数中先初始化AP模式,然后每100ms发送一次所有的Beacon。发送Beacon前需要填充好Beacon帧的内容。 测试效果如下: 在代码中我们使用的SSID列表为

上电后程序启动,使用手机扫描Wi-Fi便可以查看到这些AP信息
EEWORLDLINKTK2
其中AP-XRADIO为默认的AP名称。

不使用API构造BEACON

我们也可以不使用相关API,而直接填充内容。为了演示,在这里将参考项目的实现迁移过来,具体代码如下:

测试效果如下:
使用Netspot工具获取无线AP列表


可以看到我们定义的SSID列表(Never gonna give you up),同时和默认的AP名称AP-XRADIO。

 

对XR806的Beacon进行无线抓包分析,如图所示


可以看出XR806所支持的速率和其他特性。

 

最新回复

这个板子一直没玩,开发起来难度大吗  详情 回复 发表于 2024-1-27 00:45
点赞 关注
 
 

回复
举报

539

帖子

1

TA的资源

纯净的硅(中级)

沙发
 

这个板子一直没玩,开发起来难度大吗


 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表