iperf测试recovery模式下WiFi吞吐量


  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值
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ʚ兔子的先森ɞ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值