Skip to content

Commit 8c24af7

Browse files
committed
Bluetooth: Add document to illustrate the analye procedures of hfp issues.
bug: v/53750 Signed-off-by: zhangyuan20 <[email protected]>
1 parent 079bc8b commit 8c24af7

File tree

2 files changed

+65
-2
lines changed

2 files changed

+65
-2
lines changed

zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md

+65-2
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,13 @@
6262
- [方法:观察是否建立了SCO连接](#方法观察是否建立了sco连接)
6363
- [方法:观察是否向Media设置了SCO音频参数](#方法观察是否向media设置了sco音频参数)
6464
- [方法:观察AG端是否收到了HF端的Answer请求](#方法观察ag端是否收到了hf端的answer请求)
65+
- [方法:观察HF端是否收到了AG端的来电通知](#方法观察hf端是否收到了ag端的来电通知)
66+
- [方法:观察HF端是否通知了应用AG端有来电](#方法观察hf端是否通知了应用ag端有来电)
6567
- [典型问题](#典型问题-3)
6668
- [问题:AG端接通电话,HF端通话无声](#问题ag端接通电话hf端通话无声)
6769
- [问题:HF端接通电话,HF端无声](#问题hf端接通电话hf端无声)
70+
- [问题:作为AG端,不能受HF端控制接听电话](#问题作为ag端不能受hf端控制接听电话)
71+
- [问题:作为HF端,AG端来电,HF端无来电显示](#问题作为hf端ag端来电hf端无来电显示)
6872
- [数据传输问题](#数据传输问题)
6973
- [分析方法](#分析方法-4)
7074
- [方法:观察client设备是否发起过Exchange\_MTU规程](#方法观察client设备是否发起过exchange_mtu规程)
@@ -1213,11 +1217,43 @@ AG和HF都需要在SCO建立完成之后向Media设置了SCO音频参数,典
12131217

12141218
HF端发起Answer请求,需要向AG端发送ATA命令,通常,可以通过syslog,snoop log,或者air log观察AG是否收到了HF的Answer请求。
12151219

1216-
#### 1 通过syslog观察AG是否收到了HF的Anser请求
1220+
#### 1 通过syslog观察AG是否收到了HF的Answer请求
12171221

12181222
```
12191223
[hfp_ag]: ag_service_notify_call_answered
12201224
```
1225+
1226+
#### 2 通过snoop log观察AG是否收到了HF的Answer请求
1227+
1228+
<img src="img/how_to_analyze_bluetooth_issues/hfp/snoop_hfp_hf_ata.png" alt="snoop:HFP-HF-ATA" width="50%">
1229+
1230+
<a id="方法:观察HF端是否收到了AG端的来电通知"></a>
1231+
1232+
### 方法:观察HF端是否收到了AG端的来电通知
1233+
1234+
AG端收到来电时,需要向HF端发送+CIEV和RING指令,AG端还需要在+CLCC中描述来电详细信息,通常,可以通过syslog,snoop log,或者air log观察HF端是否收到了AG端的来电通知。
1235+
1236+
#### 1 通过syslog观察HF端是否收到了AG端的来电通知
1237+
1238+
```
1239+
[hf_stm]: ProcessEvent, State=Connected, Peer=[AA:AA:AA:AA:AA:AA], Event=HF_STACK_EVENT_CALLSETUP
1240+
[hf_stm]: ProcessEvent, State=Connected, Peer=[AA:AA:AA:AA:AA:AA], Event=HF_STACK_EVENT_RING_INDICATION
1241+
[hf_stm]: ProcessEvent, State=Connected, Peer=[AA:AA:AA:AA:AA:AA], Event=HF_STACK_EVENT_CURRENT_CALLS
1242+
```
1243+
1244+
<a id="方法:观察HF端是否通知了应用AG端有来电"></a>
1245+
1246+
### 方法:观察HF端是否通知了应用AG端有来电
1247+
1248+
HF端收到AG端的来电通知后,需要将电话状态通知给应用,通常,可以通过syslog观察HF端是否通知了应用AG端有来电。
1249+
1250+
#### 1 通过syslog观察HF端是否通知了应用AG端有来电
1251+
1252+
```
1253+
[hfp_hf]: hf_service_notify_callsetup
1254+
[hfp_hf]: hf_service_notify_call_state_changed
1255+
```
1256+
12211257
## 典型问题
12221258

12231259
<a id="问题:AG端接通电话,HF端通话无声"></a>
@@ -1248,9 +1284,36 @@ AG端接通电话,HF端通话无声的问题可能有多种原因导致,可
12481284
### 问题:HF端接通电话,HF端无声
12491285

12501286
* [观察AG端是否收到了HF端的Answer请求](#方法:观察AG端是否收到了HF端的Answer请求)
1251-
* 若AG端未到了HF端的Answer请求,则检查syslog,snoop或空口log分析原因。
1287+
* 若AG端未收到HF端的Answer请求,则检查syslog,snoop或空口log分析原因。
12521288
* 若AG端收到了HF端的Answer请求,则参考[问题: AG端接通电话,HF端通话无声](#问题:AG端接通电话,HF端通话无声),分析HF端无声原因。
12531289

1290+
<a id="问题:作为AG端,不能受HF端控制接听电话"></a>
1291+
1292+
### 问题:作为AG端,不能受HF端控制接听电话
1293+
1294+
* [观察AG端是否收到了HF端的Answer请求](#方法:观察AG端是否收到了HF端的Answer请求)
1295+
* 若AG端未收到Answer请求,则检查对端设备分析原因。
1296+
* 若AG端收到了HF端的Answer请求,则需要Telephony模块协助分析。
1297+
* 若AG端syslog没收到HF端的Answer请求,但snoop log收到了HF端的Answer请求,则需要打开协议栈log,根据协议栈代码分析Answer失败的原因。
1298+
1299+
<a id="问题:作为HF端,AG端来电,HF端无来电显示"></a>
1300+
1301+
### 问题:作为HF端,AG端来电,HF端无来电显示
1302+
1303+
* [观察是否建立了HFP连接](#方法:观察是否建立了HFP连接)
1304+
1305+
* 若双方设备中,至少一方发起了连接,但连接失败,建议对比典型log,分析连接失败的原因。
1306+
1307+
* 若双方设备均未能发起上述连接,建议[观察双方设备是否支持HFP](#方法:观察设备是否支持HFP)
1308+
1309+
* [观察HF端是否收到了AG端的来电通知](#方法:观察HF端是否收到了AG端的来电通知)
1310+
* 如果HF端未收到AG端的来电通知,则检查syslog,snoop或空口log分析原因。
1311+
* 如果HF端收到了AG端的来电通知,建议[观察HF端是否通知了应用AG端有来电](#方法:观察HF端是否通知了应用AG端有来电)
1312+
1313+
* [观察HF端是否通知了应用AG端有来电](#方法:观察HF端是否通知了应用AG端有来电)
1314+
* 如果HF端未上报电话状态,则检查syslog,snoop或空口log分析原因。
1315+
* 如果HF端上报了电话状态,则需要Telephony模块协助分析。
1316+
12541317
# 数据传输问题
12551318

12561319
本章介绍数据传输(GATT、 SPP)高吞吐传输过程中相关问题常用的分析、定位方法。

0 commit comments

Comments
 (0)