高通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,执行
iperf -s -i 1 -u -b 1000m
  1. 一端做client, 执行
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:

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:

iperf -s -i 1 -u -b 1000m

下发如下命令启动Iperf client

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

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

高通SDX12是一种移动芯片平台,支持最新的USB连接技术。在使用USB连接设备时,为了达到更高的数据传输效率和稳定性,可以进行USB眼图调优。 USB眼图是通过观察USB信号的时域波形来评估数据传输的质量。当接收端正确接收到数据时,眼图的开口足够大,表示数据传输质量良好;反之,如果眼图的开口较小,可能导致数据传输错误或丢失。 要进行USB眼图调优,可以采取以下措施: 1. 保持良好的信号完整性:使用高质量的USB连接线和连接器,尽量减少信号的损耗和失真。确保信号线不过长,避免干扰和干扰。 2. 优化供电环境:提供稳定的供电电源,减少功率波动和干扰。使用优质的电源适配器或电池供电,避免共地和干扰。 3. 适当调整传输速率:根据设备和系统的性能要求,选择适当的USB传输速率。较高的传输速率可能导致数据传输质量下降,因此在保证速度的同时,需要权衡信号质量。 4. 确保正确的数据编码和解码:在设备端和主机端使用正确的数据编码和解码协议,以确保数据传输的正确性和一致性。 5. 消除干扰源:降低共地干扰和电磁干扰对USB信号的影响。确保设备和连接线远离其他电磁辐射源,如无线电设备、电源适配器等。 总之,通过技术手段优化USB眼图,可以提高USB连接的数据传输效能和稳定性,提升设备的整体性能和用户体验。高通SDX12作为一种先进的移动芯片平台,可为USB连接提供高质量的信号和传输效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

四儿家的小祖宗

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

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

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

打赏作者

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

抵扣说明:

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

余额充值