我是靠谱客的博主 沉静香烟,最近开发中收集的这篇文章主要介绍Wi-Fi Sigma测试系统,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

        Wi-Fi Sigma测试系统是Wi-Fi联盟(WFA)提出的一套全自动的WiFi认证测试系统,几乎涵盖的所有Wi-Fi的功能及性能(throughput)的自动化测试。该系统正逐步取代以前的WiFi认证测试系统。


       下图是Sigma系统架构图,截自WFASigma Installation Guide May 3, 2014 Version 8.1.0。



        Sigma测试系统其实并不复杂,从上图可以看到,Sigma测试系统主要有两个网络,一个是控制网络(蓝线),一个是测试网络(黄线);其测试环境、设备、Test Bed、以及相关的软硬件等详细信息WFA都已经指定,这些都可以在WFA的官网上查到。


        UCC与DUT/DUT ControlPC以及上图中是所有蓝线连接的设备(控制设备,Endpoint PC以及Sniffer PC)都是通过socket进行的通信。而对于需要在DUT上实现的部分,WFA在其相应的官网上提供了基于Linux的sample code可供参考(目前最新版本已更新至8.2.0(Sigma_Sample_DUT_Code-Linux_8.2.0.tar))。该sample code主要提供了在DUT上运行的Sigma通信架构以及STA和traffic实现的sample。


        WFA在其dut sample code的design中,将其分成了两个部分:ca和dut,ca即controlagent。ca和dut之间也是采用的基于网络的socket通信。这样ca和dut可以运行在不同的设备上,运行ca的设备可以看作是上图中的DUT Control PC,与dut设备之间用网络连接起来。ca的实现其实很简单,主要就是将收到的UCC指令通过socket forward给dut。其实,我们完全可以将ca和dut都运行在一个设备(DUT)上,这样就可以不需要在Sigma测试环境中添加一个设备(PC or Laptop)来专门运行ca,直接让ca和dut在本地进行socket通信,不需要对ca与dut的通信机制做修改。我们也可以将ca和dut合成一个模块(应用程序)运行在DUT设备上,这样就也省去了ca和dut两个模块进程间的通信,但需要将ca与dut的socket通信直接合并为普通的函数调用就可以了。


        当然,并不是所有的DUT设备都有以太网口,比如说手机等移动设备。在这样的情况下,如果该DUT设备的WiFi是dual module的,可以用其中一个wifi模块工作在控制网络和DUT Control PC建立无线连接,另一个wifi模块工作在测试网络用于测试(为了避免wifi同频干扰影响性能的测试,两个wifi模块最好工作在不同的频段,比如说一个2.4G,一个5G,或相邻channel之间大于等于20MHz(11a/g), 40MHz(11n), 80MHz/160MHz(11ac/11ad))。如果没有以太网口又是单module的wifi,ca和dut之间就不方便使用网络连接的方案,但可以使用USB,RS232串口等其他通信接口,这样的话就需要修改相应的ca和dut通信代码。当然,如果是USB接口,也可以用USB转Ethernet的dongle将其直接转成以太网接口来使用,不过需要DUT端的系统的支持,如果不支持得需要做相关的porting。


        在这里补充说明一下,对于单module WiFi的情况,目前暂不考虑同一个wifi模块虚拟两个interface同时工作的情况,虽然像Qualcomm(Atheros),Broadcom,Marvell等芯片公司的wifi目前在这种情况下的共存已经做得比较稳定了,但对于throughput的影响还是不小,对于DUTSTA和P2P Client的case还好,而对于DUTAP和P2P GO的影响就比较大了。


        在该sample code移植方面,由于DUT运行的平台不一定都是Linux系统的,有可能是 VxWorks,WinCE或QNX等,这就需要做相应的移植。而无论是哪种操作系统,基本都是支持socket通信的,在实现上都大同小异,这方面的改动不大。而对于功能部分,由于sample code是基于linux的,主要是的system()调用,用ifconfig来配置interface的ip 设置,用wpa_supplicant/wpa_cli置WiFi STA,等等。对于像WinCE这样的操作系统,由于没有使用wpa_supplicant/hostapd等,因而这部分的改动会多一些,需要调用WinCE提供的相应的API来实现。


        另外,WFA的dut sample code并不能直接拿来用,它只提供了一个框架以及一些简单的sample,仅仅作为一个参考,要想在dut上实现sigma的自动化测试,需要进行完善,例如,完善STA功能,添加AP的支持,P2P的支持等。


        最后,在对于DUT程序的开发及调试方面,没有必要架设整套Sigma测试系统,就连UCC也没有必要架设,由于都是使用socket通信,完全可以用一台通过ethernet连接DUT的windows或linux电脑,然后在上面用telnet来模拟UCC给DUT发命令,比如ca_get_versionsta_set_ip_configsta_set_encryptionsta_associateap_set_wirelesstraffic_send_ping等等所有的UCC命令都可以通过telnet来模拟发送给DUT。有关命令及参数等细节可参考WFA的Sigma Control API Specification “CAPI” April 28,2014 version 8.1.0(我参考的是该版本,目前最新版已更新至8.2.0了)

最后

以上就是沉静香烟为你收集整理的Wi-Fi Sigma测试系统的全部内容,希望文章能够帮你解决Wi-Fi Sigma测试系统所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部