前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高通SDX55平台:Modem Loopback测试指导

高通SDX55平台:Modem Loopback测试指导

作者头像
四儿家的小祖宗
发布2022-11-15 16:24:41
3.2K0
发布2022-11-15 16:24:41
举报

高通SDX55平台:Modem Loopback测试指导

1. 背景

5G速率非常高,与之相连的Host设备要发挥5G的全部性能,必须正确的配置上位机,如CPU负载均衡,软硬件加速方案等。但是现阶段5G的部署不是很完善,实网测速最高到1Gbps左右,这时候可能高速率问题甚至无法发现。客户端部署仪表进行测速成本太高。因此有了Loopback测试的解决方案。

Loopback测试不需要插SIM卡,不需要实网,也不需要仪器。非常方便用于验证客户的软硬件环境是否OK。因此建议在做实网或者仪器测试之前,都先做loopback测试,确保软硬件环境ok。

SDX55支持rmnet/qmi网卡的loopback。即在设置了loopback模式之后,所有通过上位机rmnet网卡发送给SDX55的数据,X55都可以回环给上位机。同时为了降低上载时上位机的负载,X55支持自行一回环倍数,举个例子,假设我们定义的是8倍回环,当在上位机中发送10M的数据给X55,X55回环80M的数据给上位机。

  • 注意:这时候不用尝试ping网管192.168.48.172。回环模式网关不会正确的响应ping包,而是将数据原样返回。
在这里插入图片描述
在这里插入图片描述

2. 开启X55Loopback功能

2.1 连接QPST EFS Explorer

在正确安装SDX55模块的USB驱动及高通QPST工具后插入X55模块。打开QPST Configuration,QPST会自动识别我们的设备:

在这里插入图片描述
在这里插入图片描述

在QPST中点击Start Clients ->EFS Explorer:

在这里插入图片描述
在这里插入图片描述

打开EFS Explorer工具,工具会自动识别插入的X55模块,弹出的Phone Selection中直接点击OK,如下图所示:

在这里插入图片描述
在这里插入图片描述

在正确识别X55模块后点击OK,稍等片刻后会出现详细的配置列表,如下图所示

在这里插入图片描述
在这里插入图片描述

2.2 创建loopback_config.txt文件

在/nv/item_files/modem/data/3gpp/ps/路径下创建文件:loopback_config.txt。

loopback_config.txt文件内容如下所示: LOOPBACK_ENABLED:1; L2_LOOPBACK_ENABLED:0; SYS MODE:9; REP_FACTOR:5;

文件中的REP_FACTOR是回环倍数,可自定义回环倍数,建议最大不超过14,否则会导致数据不通的现象出现。

在/nv/item_files/modem/data/3gpp/ps/目录下,右侧的窗口中点击右键,选中New->File:

在这里插入图片描述
在这里插入图片描述

在弹出的窗口中点击Browse,选择上面创建的loopback_config.txt,点击OK后loopback_config.txt就被上传到/nv/item_files/modem/data/3gpp/ps/目录下。操作过程如下图所示:

在这里插入图片描述
在这里插入图片描述

完成后如下图所示:

在这里插入图片描述
在这里插入图片描述

检查无误后重启模块生效。

3. Windows下测试回环功能

3.1 测试环境准备

Windows下测试需要准备单模块一个,USB3.0数据线一根,iperf2客户端,DU Meter网速监测工具。Windows下拨号工具QMItestPro。

使用QMItestPro进行拨号:

  1. 通过at+gtusbmode=31,将模块设置为高通口
  2. 打开QMITestPro
  3. 选择WDS
  4. 选择网卡
  5. 选择SIM卡为WDS_DEFAULT_SUBS
  6. 点击connect
  7. 检查拨号结果,为QMI_RESAULT_SUCCESS即为拨号成功
在这里插入图片描述
在这里插入图片描述

3.2 执行测试

在windows上打开两个cmd窗口,并进入到iperf2所在的位置。

  1. 一端做server,执行iperf.exe -s -i 1 -u -b 1000m
  2. 一端做client, 执行iperf.exe -c 192.168.48.172 -i 1 -u -b 1000m -l 9000
  3. 在DU meter中查看监测结果

3.3 测试结果

可以看到测试结果,USB下行速率稳定在2.7Gbps左右。CPU占用峰值93%,平均值43%。

在这里插入图片描述
在这里插入图片描述

测试硬件环境:联想K43c-80,CPU:i5-8250U,内存8G,win10 64bit操作系统。

4. Linux下测试回环功能

4.1 测试环境准备

Linux下测试需要准备单模块一个,USB3.0数据线一根,iperf2客户端,nload网速监测工具。Linux下拨号工具QMI_Dial 。

模块开机后,模组需要支持rmnet模式。执行QMI_Dial ,拨号后QMI_Dial 的日志输出部分如下:

在这里插入图片描述
在这里插入图片描述

4.2 执行测试

打开两个terminal,分别做server和client

  1. 一端做server,执行
代码语言:javascript
复制
iperf -s -i 1 -u -b 1000m
  1. 一端做client, 执行
代码语言:javascript
复制
iperf -c 192.168.48.172 -i 1 -u -b 1000m -l 9000
  1. 使用nload -u H中查看监测结果

4.3 测试结果

可以看到测试结果,USB下行速率稳定在3.99Gbps左右。

在这里插入图片描述
在这里插入图片描述

测试硬件环境:联想P300,CPU:i7-4790,内存16G,ubuntu14.04 64bit操作系统。

5. Android 下测试回环功能

5.1 设置X55模块USB端口模式

将模块的USB端口切换为RMnet模式。

5.2 配置网卡IP

使用如下命令停止Android ril 的运行:stop ril-daemon, 如下图所示:

在这里插入图片描述
在这里插入图片描述

下发如下命令配置usb0 网卡的IP:

代码语言:javascript
复制
echo -ne "at\$qcrmcall=1,1,1\r" > /dev/ttyUSB2
ifconfig usb0 up
busybox udhcpc -i usb0
ip addr add 192.168.48.171/24 dev usb0

如下图所示:

在这里插入图片描述
在这里插入图片描述

5.3 使用Iperf测速

下发如下命令启动Iperf server:

代码语言:javascript
复制
iperf -s -i 1 -u -b 1000m

下发如下命令启动Iperf client

代码语言:javascript
复制
iperf -c 192.168.48.172 -i 1 -u  -b 1000m -t 3600
  • 注意:由于我们给usb0 网卡分配的IP地址是192.168.48.171,那X55模块的IP就是192.168.48.172,所以我们Iperf client 设置的server ip就是192.168.48.172.

我们将统计网卡速度的脚本speedmonitor.sh push 到rk3399中,由于这个脚本要用到awk,而我们的RK3399中没有,可以将下面的awk push到/system/bin下。

测速截图如图所示:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里可以看到usb0 下载的速度是上传的5倍。符合我们在loopback_config.txt中定义的5倍。

在这里插入图片描述
在这里插入图片描述

6. Iperf 使用详解

Iperf 是一个常用的测速工具,作用是 Client 向 Server 灌包, 比如要测试模块的下行数据,就是仪器做 Client,客户设备做 Server。

Iperf –h 可以看到帮助文档,这里就我们测试的时候需要用到的参数,再次详细介绍下:

表1 服务器端专用选项的含义

命令行参数

含义描述

-s

以server模式启动,eg:iperf -s

-D

以服务方式运行iperf,eg:iperf -s -D

-U

运行在单线程UDP模式

-s

以server模式启动,eg:iperf -s

表2 客户端专用选项的含义

命令行参数

含义描述

-c

在客户端模式下运行

-d

同时进行双向测试

-n

指定传输的字节数

-r

单独做双向测试

-t

传输时间(秒)(默认为10秒)

-B

绑定src的addr来发起通信

-F

输入要从文件传输的数据

-I

输入要从stdin传输的数据

-L

端口以接收双向测试返回

-P

要运行的并行客户端线程数

-T

多播的生存时间(默认为1)

-Z

设置TCP拥塞控制算法(仅适用于Linux)

表3 客户端与服务器端公用选项的含义

命令行参数

含义描述

-f

报表格式:Kbits, Mbits, KBytes, MBytes

-p

指定监听/连接的服务器端口

-i

周期带宽报告之间的秒数

-b

以比特/秒或每秒数据包计算的发送带宽

-e

使用增强的报告提供更多tcp/udp和流量信息

-l

要读或写的缓冲区长度(默认为8 KB)

-m

打印TCP最大段大小(MTU - TCP/IP报头)

-o

将报告或错误消息输出到此指定文件

-u

使用UDP协议

-w

指定TCP窗口大小(套接字缓冲区大小)

-z

请求实时调度器

-B

绑定到<主机>,一个接口或多播地址

-C

兼容旧版本

-M

设置TCP最大段大小(MTU - 40字节)

-N

设置TCP无延迟,禁用Nagle算法

-V

将域名设置为IPv6

我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:/developer/support-plan?invite_code=2m8wqr7qn7s4g

本文参与?腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客?前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 高通SDX55平台:Modem Loopback测试指导
  • 1. 背景
  • 2. 开启X55Loopback功能
    • 2.1 连接QPST EFS Explorer
      • 2.2 创建loopback_config.txt文件
      • 3. Windows下测试回环功能
        • 3.1 测试环境准备
          • 3.2 执行测试
            • 3.3 测试结果
            • 4. Linux下测试回环功能
              • 4.1 测试环境准备
                • 4.2 执行测试
                  • 4.3 测试结果
                  • 5. Android 下测试回环功能
                    • 5.1 设置X55模块USB端口模式
                      • 5.2 配置网卡IP
                        • 5.3 使用Iperf测速
                        • 6. Iperf 使用详解
                        相关产品与服务
                        负载均衡
                        负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
                        领券
                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
                        http://www.vxiaotou.com