[UPnP] UPnP Certification Tool

下載完UPnP Certification Tool之後,將想測的XML檔放入xml data files的資料夾。

UPnP Certification Tool共分為六個Task
  • Addressing
  • Description
  • Discovery
  • Control Sytax
  • Eventing Syntax
  • Semantics
從這六點來看所測試的目標,並且使用Intel Stack來修改:

Addressing:測裝置的網路環境
  • 0.0測Auto IP,一開始將Router的DHCP功能關掉,而Device的IP會改成169.254.x.x
  • 0.1測DHCP,將Router的DHCP功能打開,IP為192.168.x.x
Description:Description的正確性
  • 1.0.*Device description is well format
  • 1.1.*Servcie description is well format,使用Intel Builder的修改功能,可以解決此問題。
Discovery:
  • 2.0.0.*主要是測ssdp:alive訊息的正確性與週期性,Intel Builder對此有許多問題。Intel Builder是預設90秒會發送一次notify,而Intel Builder不一定會準時送,因此必須修改它的時間,請修改 UPnPMicroStacks的UPnPFragmentedSendNotify的function,把NotifyCycleTime設為30,這樣test tool會比較快回覆訊息,如果順利的話,通常二、三分鐘就會過。
  • 2.1.*測MSearch的responce,要注意的是,項目0~4對於Intel Builder的udn必須為數字,若用英文字母,可能會有錯誤發生"Fail Reason: Missing Responce of Notification..."。還是要看2.0.0.*,如果2.0.0.*錯的話,項目0~4也有可能會錯,這應該是test tool不穩的地方。
Control:
  • 3.0.*每個Service的控制方法都不同,所以有其專屬的控制方法,需要注意的是必須通過Description,尤其是Test Case 1.1.3。其實Conrtol的項目通常不會判斷回覆的訊息,所以回傳什麼並不重要,反而invoke時的參數要搞清楚,有時參數不對,invoke時會被擋掉。舉個例子:原本State Variable的allow value為portrait,但是test tool則使用Protrait,大小寫的分別,Intel builder的Device就會擋掉,還有none與空的state variable也會擋。
Eventing:
  • 4.0.*測所訂閱的回覆,Intel Builder這些項目都會通過。

Comments

Popular posts from this blog

[Linux] UVC Camera

UPnP Device Implementations

[UPnP] UPnP Implementers Corporation & UPnP Forum