一些USB
服从的标准被USB组织重点标记了。(获取更多详细的信息,请参考USB-IF Compliance Progarm)。包含下面的一些测试:
USB
电服从性测试
USB
命令验证
USB
充电
USB
电服从性
USB
电服从性测试帮助我们决定USB线中的信号的质量的好坏。这个测试定义了收发器的电的门限,因此客户能够恰当的调试他们的USB PHY来调整这些参数。
USB
眼图
接收器敏感度
USB
啁啾时序
USB
总线挂载/唤醒/重置 时序
取决于每次测试的结果,USB PHY
可能(也可能不会)会调试参数来帮助提高时序,或者信号质量。获取更多的关于如何调试HSUSB PHY参数,请参考Tuning
the USB Eye Diagram and Receiver Sensitivity(80-NA648-1)。
由于高速模式和超速模式之间的电门限不同,所以也有一些单独的针对超速USB
端口的测试情况。下面是一些附加的针对超速USB PHY的测试:
低频率周期信号(LFPS
)发送/接收 测试
接收器抖动压力测试
USB
命令验证
USBCV
测试组件是可以从USB组织获取的工具,它用来确保设备能够恰当的对列在USB说 明的第9章节USB的场景进行响应。如果设备没有正确的处理请求,它应该被重新处理以保证USB协议在正常的操作期间执行正确的行为。
下面是一些公共的测试case:
设备描述符测试
配置描述符测试
接口描述符测试
远程唤醒测试
挂载/resume
测试
超速USB
有一套扩展的标准USB请求;下面是他们其中的一些:
超速端点伙伴描述符测试
U1
和U2测试
想要了解每个测试的细节,请参考包含在USB30CV
工具中的文档。
USB
充电器服合性
USB
电池充电1.2说明提到过用来决定不同的USB充电器的类型的检测算法。充电器检测阶段对于D+,D-信号有严格的时序要求,因为每个阶段的脉冲有一个定义的
最小/最大 时间
和电平。
USB
设备模式功能验证
这部分描述QTI
如何测试USB设备的功能
USB mass storage
Mass storage
在不同的平台被使能;然而,是使用最广泛的平台。
为了使能安卓上的mass storage
功能:
1
,验证目标被用默认的USB composition启动了。
查看8.4
章节部分来获取每个平台默认的USB composition
对于mass storage
接口,主机驱动自动安装Windows和Linux主机机器。
2
,挂载一个备份文件到mass storage内核驱动。
echo [
块设备] > /sys/class/android_usb/android0/f_mass_storage/lun/file
(单独的LUN)
主机上出现一个新的存储驱动或者介质,显示挂载在块设备中的内容
存储介质
一些不同的存储设备能够被挂载在mass storage
的LUN上。为了做基本的验证,使用一个外部的SD卡是最简单的方法。对于性能验证,使用RAM
disk可以不必考虑来自其它硬件部分的性能开销。
1
,创建一个想要的RAM磁盘大小的空文件
dd if=/dev/zero of=1G.img bs=1M count=1000
2
,将文件push到设备里
adb push
/1G.img /data
3,挂载RAM磁盘到mass storage
驱动
echo /data/1G.img > /sys/class/android_usb/android0/f_mass_storage/lun/file
为了使用一个外部的SD卡:
1,插入一个SD卡到设备。
2,捕获创建的块设备
<6>[ 1645.583877] mmc1: new high speed SD card at address 1234
<6>[ 1645.586112] mmcblk1: mmc1:1234 SA01G 972 MiB
<6>[ 1645.591330] mmcblk1: p1
3,挂载SD卡到mass storage
驱动
echo /dev/block/mmcblk1 > /sys/class/android_usb/android0/f_mass_storage/lun/file
10.2.2媒体传输协议(MTP)
通过UI界面来使能MTP是必要的,因为操作性依赖于媒体服务器,这个媒体服务器是通过framework层使能的。查看12.2章节,你如何使能MTP接口?来获得详细的说明。
默认的,在MTP接口使能后,内部的storage被自动挂载。
10.2.2.1 Windows Explorer浏览器/ Windows媒体播放器
MTP由Windows本身支持,因为它是由Microsoft开发的协议。因此,Windows环境是用来测试和验证MTP接口最好的环境。
验证和测试MTP接口:
1,使用Windows Explorer(推荐方法),将文件从PC传输到便携设备。
2,开始Windows媒体播放器(仅限媒体文件)。MTP设备应该自动的被识别。
3,将想要的文件传到同步列表。
4,点击开始同步来开始拷贝文件。
10.2.3 RNDIS
使能RNDIS
有必要通过UI启用RNDIS接口,因为可操作性取决于网络框架来设置所需的路由以及启动dnsmasq等。查看12.2章节部分,你是怎么使能tethering接口的?来获取详细的信息。
运行iPerf测试时的注意事项
依赖于使用的传输(硬件vs软件),当运行性能指标测试的时候,建议的iPerf设置可能会不同。查看4.1.9来获得全面的RNDIS硬件vs.软件体系结构。
RNDIS本地回环
RNDIS本地回环是一个使用的术语。
该方法是验证RNDIS数据路径是否正确设置的好方法,但并不总是衡量性能的最佳方式。
当使用硬件路径(例如IPA,BAM2BAM等)时,QTI建议运行端对端测试来测量性能数字。
原因是因为在使用RNDIS本地环回时,未优化IPA软件来处理此类测试。
RNDIS本地环回引入了可能有助于降低吞吐量的另一个软件层。 端到端测试显示出更好的性能数字。
10.2.3.1
iPerf是一种常用的测量网络接口上TCP / UDP吞吐量的工具。 它
实现客户机/服务器模型,其中客户端是负责生成IP的实体
数据包到服务器。 它根据传递的间隔测量吞吐量参数。
有关所使用命令的详细信息,请参阅USB RNDIS更改以提高吞吐量(80-P1074-1)。