張暉峰
(國家無線電監(jiān)測中心檢測中心,北京,100041)
Wi-Fi認證測試套件使用指定的路由器和終端,將無線的連接和數據收發(fā)以及空口包分析等通過有線的傳輸,展示在統(tǒng)一 Control API(CAPI)命令控制臺(UCC)上[1]。UCC下發(fā)指令給測試臺組件包括被測設備的控制代理,然后由控制代理程序將指令加工成控制設備的命令,控制設備進而執(zhí)行加工后的指令,從而執(zhí)行測試所需的操作,同時實現了自動化測試。熟悉Wi-Fi認證測試套件,對于提升Wi-Fi聯盟認證測試通過率以及整改都有很大的意義。
以Wi-Fi CERTIFIED n為例,Wi-Fi聯盟認證測試套件由硬件和軟件組成的環(huán)境,用于測試產品,如圖1所示,套件總體分為控制網絡和測試網絡兩部分,分別用藍線和紅線表示??刂凭W絡主要包括終端,嗅探器,路由器代理,路由器終點等設備,由藍色網線通過交換機2與UCC控制臺進行連接,在UCC總控制下共同構成了整個認證測試套件中的控制組件部分;測試網絡主要包括路由器,嗅探器,路由器終點等設備,由紅色網線用過交換機1進行連接,為各被測試路由器與其連接設備共同構成的多通路認證測試部分[2]。
圖1 Wi-Fi聯盟認證測試套件框架示意圖
本節(jié)檔描述用于控制Wi-Fi聯盟認證的測試臺設備和被測設備的API,以及用于調用統(tǒng)一CAPI命令控制臺(UCC)和設備代理之間的API的通信協(xié)議,限定了整個認證測試套件中進行數據傳導和信號響應的Control API(CAPI)命令基本樣式。
UCC運行一個測試程序來安排測試。當被測設備需要執(zhí)行某些操作或UCC需要設備提供信息時,UCC使用標準API調用來發(fā)出適當的命令。API命令通過本地網絡堆棧到達運行設備控制代理的電腦或系統(tǒng),然后由控制代理程序處理,以生成控制設備的命令或一系列命令。然后設備執(zhí)行這些命令,從而執(zhí)行測試所需的操作[3]。根據平臺組件和認證程序的不同,CAPI命令可能是必需的、可選的,也可能不是必需的。
控制代理在選定端口上執(zhí)行一個被動TCP開啟,并等待UCC連接到該端口。UCC對控制代理執(zhí)行一個主動TCP開啟,從而建立TCP連接。一旦建立了TCP連接,UCC所做的任何API調用都將作為ASCII格式的命令通過TCP連接發(fā)送到控制代理。UCC一次只能處理一個命令。每個命令都由一個新行(CR+LF)終止。控制代理使用相同的格式發(fā)送響應。如果TCP連接因任何原因終止,則控制代理應被動等待UCC的下一次連接嘗試。
典型的CAPI命令序列如下所示:
以上命令按順序執(zhí)行。如果“device_list_interface”未能獲取設備列表,那么UCC不會繼續(xù)執(zhí)行“sta_get_info”。換行符需要附加到每個響應,以便新行將UCC控制臺輸出或日志上的命令分開。在控制代理同時接收多路由器認證測試響應后,需要在TCP開啟后依序進行反應,因此為了保證認證測試的反應效率,需要選擇反應速度快、數據通路寬的控制代理和主動頻次高的UCC控制連接。
要在設備控制代理上運行命令,需輸入函數名和任一參數,用逗號分隔,并用 CR+LF(“Enter”)終止。某些參數是必需的,并相應地標記。命令字符串小于4096字節(jié)。為了有助于調試和使用一些可選參數,每個參數由參數的名稱后跟值(也用逗號分隔)組成。一般命令格式為:
所有命令名、參數名和參數值都不區(qū)分大小寫。這方面的一個例外是許多命令中的“ssid”參數,代指信號名稱,它區(qū)分大小寫。為了便于對區(qū)域局域網進行綜合管理,在滿足通用命令語法的基礎上還可以設置區(qū)域命令語法標準,從而以相同的反應前段來提升認證測試效率[4]。不應使用以下特殊字符:
有些API列出了在調用該API之前必須調用的命令。
命令響應由一個或多個響應元素組成,主要為控制器接收不同CAPI命令語法數據段后,經過控制綜合組件反應所生成的CAPI命令響應語法。其中,每個響應元素由元素名和元素值組成。這些標記也由逗號分隔。一般響應格式為:
響應字符串必須小于2048字節(jié)。
第一個響應元素標記始終是狀態(tài)。對于某些命令,status元素后面跟著其他特定于命令的響應元素。響應元素包含以下四個:
RUNNING,上一個命令格式正確,控制代理正在執(zhí)行該命令;
INVALID,上一個命令的格式不正確,或者參數值無效或無法理解??刂拼響褂胑rrorCode響應元素返回有關錯誤的更多詳細信息;
ERROR,前一個命令執(zhí)行時產生錯誤。控制代理應使用errorCode響應元素返回有關錯誤的更多詳細信息;
COMPLETE,上一個命令格式正確,并且控制代理已完成執(zhí)行該命令。執(zhí)行命令的結果也使用零個或多個特定于命令的響應返回。
在UCC向控制代理發(fā)送命令后,它將等待一秒鐘的超時響應??刂拼肀仨毞治雒钜则炞C其格式是否正確,并在此超時內返回狀態(tài)為“RUNNING”的響應元素。
如果接收到狀態(tài)為RUNNING的響應元素,那么UCC將阻止來自控制代理的后續(xù)響應。控制代理應返回狀態(tài)“ERROR”、“COMPLETE”或“INVALID”。除非在特定命令定義中另有指定,否則控制代理的超時閾值為120秒。
建立連接后,控制代理將等待,直到收到以新行結尾的文本字符串。在接收到一行文本后,將分析這些值,以確保命令名、參數名和參數值在語法上是正確的。如果命令語法正確,則報告運行狀態(tài),并開始供應商專有的與設備通信的方法。一旦設備完成執(zhí)行該函數,就會發(fā)送相應的響應,并且控制代理將等待讀取下一行輸入??刂拼砗驮O備之間的通信應使用帶外機制,因為在設備關聯之前,諸如使用被測無線接口的帶內通信可能不允許通信。
UCC建立在Wi-Fi測試套件架構之上,擴展了CAPI的功能,使用可編輯腳本命令文件作為輸入來控制設備測試序列,極大地提高了CAPI命令的靈活性和可用性。有利于在測試和開發(fā)環(huán)境中采用Wi-Fi測試套件。
UCC框架包括兩個關鍵組件:UCC核心和UCC命令腳本。UCC核心接受擴展的CAPI命令來驅動測試的執(zhí)行。核心包括CAPI解釋、命令傳遞和結果處理,堆棧返回信息以用于其他命令參數。它還處理最終的測試返回,并根據預定義的標準判定測試是通過還是失敗。UCC核心通常采用兩個文本文件來執(zhí)行測試。Ext-CAPI文件定義了特定測試環(huán)境的初始設置,包括IP地址的別名或幀速率。P/F標準文件包含必要的UCC命令,用于指示設備執(zhí)行特定的測試用例。
UCC命令腳本是基于文本的擴展CAPI命令,輸入到UCC核心。使用可編輯的文本格式,可以輕松更改和調整測試序列??梢酝ㄟ^簡單的編輯添加新的測試。
Wi-Fi聯盟認證測試套件能夠通過對通信產品進行的SAR和EMC測試,以有效的認證測試標準來對市場上通信產品通信性能提升標準和認證參考,既有利于及時篩除不符合互用性通信的劣質產品,保衛(wèi)消費者的利益,也有利于為消費者的購買活動提供標準化參考,在信息時代推進我國的網絡通信建設進程。