2011年9月23日 星期五

BlueTooth要怎麼進測試模式要怎麼搞-3

  • 6. FAE是這麼說滴

以下是FAE所提供的兩個HCI command

實際上操作的結果:
# hcitool cmd 0x03 0x1a 0x03
hcitool cmd 0x03 0x1a 0x03
< HCI Command: ogf 0x03, ocf 0x001a, plen 1
  03
> HCI Event: 0x0e plen 4
  01 1A 0C 00

# hcitool cmd 0x06 0x03
hcitool cmd 0x06 0x03
< HCI Command: ogf 0x06, ocf 0x0003, plen 0
> HCI Event: 0x0e plen 4
  01 03 18 00
 
說明:
1.0
HCI OGF  OCF  para1
hcitool cmd 0x03 0x1a 0x03
引述FAE的描述
"進入測試模式前, 需要下 Page 694 的 7.3.18 Write Scan Enable Command (參數 0x03) 讓模組可以被測試機找到"

1.1
"hcitool cmd 0x03 0x1a 0x03"
OGF=0x03 OCF=0x1a > 這各是參考到 7.3.18 Write Scan Enable Command
"0x03" 參數"0x03"是指 Inquiry Scan enabled + Page Scan enabled.

1.2
"HCI Event: 0x0e plen 4"
"0x0e" 根據7.7.14 Command Complete Event, 是指host端的command已經完成了
"plen 4" 是HCI event的長度
"01 1A 0C 00" 根據7.7.14 Command Complete Event,
"01"表示HCI command的packet的數目(的確只有一個packet)
"1A 0C" 其實是由host HCI command的OGF(MSB-6bit)+OCF(LSB-10bit)組成的 000011 + 0000011010 = 0000 1100 0001 1010 = 0x0C1A
"0" 根據7.3.18 Write Scan Enable Command "0"表示 Write_Scan_Enable command succeeded.

2.0
HCI OGF  OCF
hcitool cmd 0x06 0x03
引述FAE的描述
"Page 774 的 7.6.3 Enable Device Under Test Mode Command 則有進入 DUT 模式的 HCI command, 請參考."

2.1
"hcitool cmd 0x06 0x03"
OGF=0x06 OCF=0x3 > 這各是參考到 7.6.3 Enable Device Under Test Mode Command

2.2
"HCI Event: 0x0e plen 4"
"0x0e" 根據7.7.14 Command Complete Event, 是指host端的command已經完成了
"plen 4" 是HCI event的長度
"01 1A 0C 00" 根據7.7.14 Command Complete Event,
"01"表示HCI command的packet的數目(的確只有一個packet)
"03 18" 其實是由host HCI command的OGF(MSB-6bit)+OCF(LSB-10bit)組成的 000110 + 0000000011 = 0001 1000 0000 0011 = 0x1803
"0" 根據7.6.3 Enable Device Under Test Mode Command, "0"表示 Write_Scan_Enable command succeeded.


  • 7.結論




1.
測試模式的進入似乎是由BT spec所規範了.
所以只要是用HCI command的話應該是一體適用的.
這意味著只要是通過BT spec 2.1的藍芽裝置通通可以使用這一個方法進入測試模式.

2.
整個測試的流程
待測物進入測試模式 -> BT測試治具規畫好測試項目(公司用的是安捷倫N4010A PC端程式remote control)
-> 測試治具會自動完成與待測物的溝通並且收集test plan的相關數據 -> 透過PC端的程式把治具上的數據log下來.

3.
實際上前面1~5點都是BT學習過程的自high內容,真的solution是在第6點的時候才真的可以解決.

沒有留言:

張貼留言