以下内容已经在Iot-6ULX/EVB-6ULX平台上验证通过,Iot-6ULX/EVB-6ULX介绍如下:
7. WIFI测试
IoT-6ULx核心板板载WIFI+BT模块AP6214A,支持WIFI和蓝牙功能。底板上搭载了一路天线接口,可用于连接天线,增强无线信号。测试WIFI功能之前,在开发板上接入WIFI模块的天线。
WIFI天线接口示意图
WIFI模块的驱动未集成到linux内核镜像中,在linux启动过程中检测到设备才会加载驱动。如果系统启动之后驱动未加载,则需要执行指令通过modprobe安装模块驱动。
root@embfly ~# modprobe brcmfmac //通过modprobe安装驱动
使用ifconfig指令来显示网络。
root@embfly ~# ifconfig //查看网络信息
查看WIFI网络信息
wlan0是WIFI网络节点,能够在网络配置信息中查询到该节点,表明驱动已经正确加载。此时网络没有获取IP信息,还不可用,需要对网络进行配置连接。
7.1 网络连接配置
配置无线网络,需要用到wpa_supplicant工具。wpa_supplicant是linux系统下一个非常强大的无线网卡管理程序,它是WPA(WIFI网络安全接入点)的应用层认证客户端,负责完成认证相关的登录、加密等工作。
首先,我们需要将要连接的无线网络的相关信息做成一个配置文件,放到文件系统中,以便连接网络的时候可以读取到网络的信息。在我们的配套系统中,已经做了一个配置文件wpa_supplicant.conf,放在etc目录下,执行以下指令查看配置信息:
root@embfly ~# cat /etc/wpa_supplicant.conf 看etc目录下的wpa_supplicant.conf文件
查看无线网络配置文件
在终端的显示信息中,network={ }括号中的内容是无线网络的具体配置信息。以下对配置参数进行简单说明:
- ssid="artcor",无线网络名称。
- psk="82523090",加密的无线网络密码。
- proto=WPA RSN,网络协议。
- key_mgmt=WPA-PSK,认证密钥管理协议。
- group=CCMP,组密钥加密方式。
- pairwise=CCMP,对密钥加密方式。
用户在测试WIFI过程中,需要将配置文件中的无线网络名称(ssid)和网络密码(psk)修改成自己所要连接的无线网络的名称和密码,其他的参数可不用修改。
执行以下指令进入配置文件的编辑界面:
root@embfly ~# vi /etc/wpa_supplicant.conf //编辑etc目录下的wpa_supplicant.conf文件
进入vi编辑器命令模式
输入vi指令后,自动进入到vi编辑器的命令模式。此时,单击键盘的“i”键,切换到编辑模式,则可以开始修改文件中的内容。
进入vi编辑器编辑模式
配置信息修改完成以后,单击键盘的“Esc”键,切换到命令模式,输入“:wq”,就可以保存修改信息并退出vi编辑器。然后可以通过cat指令查看文件信息是否正确修改:
root@embfly ~# cat /etc/wpa_supplicant.conf //查看etc目录下的wpa_supplicant.conf文件
网络配置文件修改好了以后,通过wpa_supplicant工具连接配置文件中的无线网络,执行以下指令:
root@embfly ~# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
其中“-i”代表指定网口,“-c”代表根据配置文件执行,“-B”代表在后台执行进程。
连接无线网络
根据终端信息,wlan0已经连接上网络。使用ifconfig指令来查看wlan0是否已正确获取IP。如果wlan0未能获取IP,通过udhcpc命令获取:
root@embfly ~# ifconfig //查看网络信息
root@embfly ~# udhcpc -i wlan0 //获取wlan0的IP
wlan0获取到IP以后,接下来就可以开始网络测试了。
7.2 网络连通性测试
通过ping指令测试网络的连通性。
ping与开发板连接的主机,本次测试中,我们的主机IP为192.168.0.6。用户在测试过程中将指令中的IP更换成自己的主机IP即可。测试过程按“Ctrl+c”终止ping指令。
root@embfly ~# ping 192.168.0.6 -I wlan0 //用wlan0 ping 主机192.168.0.6
wlan0连通性测试
ping测试结束以后,查看终端信息,没有丢包,说明网络连接性良好。
ping百度,测试是否能上网。测试过程按“Ctrl+c”终止ping指令。
root@embfly ~# ping www.baidu.com -I wlan0 //用wlan0 ping百度
WIFI上网测试
ping测试结束以后,查看终端信息,没有丢包,说明网络连接性良好。
7.3 TCP/UDP带宽测试
带宽测试使用iperf3工具。有关于iperf3工具的安装以及使用信息请查阅章节4.6.2的内容,在此不再赘述。
在主机端打开Powershell窗口:
Powershell窗口界面
在Powershell窗口的执行以下指令,打开iperf3工具:
PS E:\iperf-3.1.3-win64> .\iperf3 -s
打开iperf3工具
此时,主机端作为服务器,开发板作为客户端,可以进行网络带宽测试。
开始iperf3测试前,为免受干扰,先将无关的网络设备关闭,只保留要测试的设备。现在我们测试的是wlan0,如果eth0有连接,就先将其关闭。
root@embfly ~# ifconfig eth0 down //关闭eth0,down表示关闭
关闭无关网络后,执行以下指令,测试TCP带宽,本次测试主机IP为192.168.0.6:
root@embfly ~# iperf3 -c 192.168.0.6 -t 10 -4 //测试TCP带宽,时长10s,IPv4标准
测试过程中,超级终端和Powershell窗口都会打印相关信息,如下图所示:
测试TCP带宽终端显示
测试TCP带宽Powershell显示
TCP默认以最大带宽测试,WIFI的TCP带宽跟网络性能有关。
执行以下指令,测试UDP带宽,本次测试主机IP为192.168.0.6:
root@embfly ~# iperf3 -c 192.168.0.6 -u -t 10 -4 //测试UDP带宽,时长10s,IPv4标准
测试过程中,超级终端和Powershell窗口都会打印相关信息,如下图所示:
测试UDP带宽终端显示
测试UDP带宽Powershell显示
UDP默认带宽1Mbit/sec,测试值越接近理论值表示测试结果良好。