本文主要是介绍iperf测试recovery模式下WiFi吞吐量,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
iperf测试recovery模式下WiFi吞吐量
- 1. 准备工作
- 2. 搭建测试环境
- 2.1 搭建iperf测试环境
- 2.2 搭建Recovery模式WiFi环境
- 3.iperf测试
Iperf是一个主动测试网络性能的工具。它能对 TCP/IP 和 UDP/IP 带宽的性能进行测量,能够提供网络吞吐率信息,以及延时、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。
关于iperf的下载安装以及详细的介绍另写文章进行介绍,本篇仅对公司环境进行演示如何使用iperf测试。
Iperf测试需要确定server端和client端,server端是监听到达的测试请求,也就是接受端。client端是用于发起测试请求,也就是发送端。
1. 准备工作
- 准备PC和平台使用的iperf文件
- 准备串口工具
- 准备一台无线路由器
2. 搭建测试环境
2.1 搭建iperf测试环境
① 将PC使用的iperf.exe复制到PC的任何一个目录
如:D:\iperf.exe
② 用U盘将iperf文件复制到平台系统的/system/bin目录下
- U盘的路径在storage目录下
- system为只读权限,需要使用mount命令重新挂载读写权限
- 复制后要使用chmod 777赋予权限
console:/ $ su
console:/ # cd storage/6CEC-41FF/
console:/storage/6CEC-41FF # ls
88x2cs.ko System\ Volume\ Information iw.iw
Android ioctl.ioctl ixia-吞吐量测试软件----电信用
Endpoint.apk iperf logo.jpg
LOST.DIR iperf.exe u-boot.bin
console:/storage/6CEC-41FF # cp iperf /system/bin/
cp: /system/bin//iperf: Read-only file system
1|console:/storage/6CEC-41FF # cd ../..
console:/ # mount -o rw,remount /system
console:/ # cp /storage/6CEC-41FF/iperf /system/bin/
console:/ # chmod 777 /system/bin/iperf
console:/ # ls -l /system/bin/iperf
-rwxrwxrwx 1 root root 955847 2020-01-01 08:08 /system/bin/iperf
实现效果如下:
③ 确定IP地址
- PC端通过有线或无线连接路由器
- 盒子端通过无线连接WiFi
- 确保盒子和PC端都在同一网段(原本只需要一台电脑,因为公司window系统下有权限限制,iperf发送需要权限,因此需要两台电脑,自用机没有权限限制)
命令查看IP地址
- PC端window cmd窗口下使用ipconfig查看IP地址
- 盒子端在串口终端工具SecureCRT窗口下使用ifconfig查看IP地址
此时没有连接WiFi,仅展示命令:
2.2 搭建Recovery模式WiFi环境
① 配置iw、ioctl命令环境
如同上面iperf命令配置,同样用U盘将iw.iw、ioctl.ioctl文件复制到/system/bin/目录下,并去掉文件后缀,同样赋予777权限。
最后结果如图:
② 进入Recovry模式
reboot recovery
③ 配置ip
进入recovery模式后先手动mount分区
busybox mount /dev/block/system /system
busybox mount /dev/block/vendor /vendor
挂载U盘的话
busybox mount /dev/block/sda1 udisk/
mount分区后insmod驱动前,需要手动给wifi上下电:
ioctl /dev/wifi_power 0x6d04 //下电
ioctl /dev/wifi_power 0x6d03 //上电
然后insmod驱动
insmod /vendor/lib/modules/*****.ko
连接WiFi,(此处注意WiFi不能设置密码)
ifconfig wlan0 up
iw wlan0 connect "WiFi名称"
iw wlan0 connect "ASUS_AC68U_5G"
配置ip
假设路由器的网关地址是
192.168.1.1
这样配置ip:
ifconfig wlan0 192.168.1.100
ip rule add from all lookup main
ndc resolver setnetdns wlan0 192.168.1.1 8.8.4.4 //此句若报错可跳过
ip route add default dev wlan0 via 192.168.1.1
3.iperf测试
RX测试命令如下:
console: 盒子端
iperf -s
PC端
iperf -c 192.168.1.80 -i 1 -w 2M -t 120 -P 8 TX测试命令:
console: 盒子端
iperf -c 192.168.1.80 -i 1 -w 2M -t 120 -P 4
PC端:
iperf -s
iperf命令参数
-s 以server模式启动。
-c host 以client模式启动。host是server端地址。通用参数:
-f [kmKM] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位
-i sec 以秒为单位显示报告间隔
-l 缓冲区大小,默认是8KB
-m 显示tcp最大mtu值
-o 将报告和错误信息输出到文件
-p 指定服务器端使用的端口或客户端所连接的端口
-u 使用udp协议
-w 指定TCP窗口大小,默认是8KB
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C 兼容旧版本(当server端和client端版本不一样时使用)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输ipv6数据包server专用参数:
-D 以服务方式运行。
-R 停止iperf服务。client端专用参数:
-d 同时进行双向传输测试
-n 指定传输的字节数,
-r 单独进行双向传输测试
-t 测试时间,默认20秒,
-F 指定需要传输的文件
-T 指定ttl值
这篇关于iperf测试recovery模式下WiFi吞吐量的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!