-
Notifications
You must be signed in to change notification settings - Fork 34
Bluetooth: Add document to illustrate the analye procedures of a2dp. #113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md
Outdated
Show resolved
Hide resolved
zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md
Outdated
Show resolved
Hide resolved
zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md
Outdated
Show resolved
Hide resolved
zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md
Outdated
Show resolved
Hide resolved
zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md
Outdated
Show resolved
Hide resolved
zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md
Outdated
Show resolved
Hide resolved
zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md
Outdated
Show resolved
Hide resolved
zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md
Outdated
Show resolved
Hide resolved
zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md
Outdated
Show resolved
Hide resolved
zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md
Outdated
Show resolved
Hide resolved
zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md
Outdated
Show resolved
Hide resolved
zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md
Outdated
Show resolved
Hide resolved
zh-cn/device_dev_guide/connection/bluetooth/how_to_analyze_bluetooth_issues.md
Outdated
Show resolved
Hide resolved
bug: v/53750 Signed-off-by: jialu <[email protected]>
|
||
上述log中,实际传输的样本点数量为:5949440 - 5904896 = 44546,与预期接近。 | ||
|
||
1秒内音频数据的样本点数量远大于采样率时,air log中会看到密集的包,典型log如下: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
样本点数量大于采样率,和密集的包,不构成因果关系。
应该说:
通常,当音频数据在SRC端阻塞时,1秒内传输的样本点数量小于采样率。当阻塞解除后,1秒内传输的样本点数量通常大于采样率。阻塞恢复的典型log如下。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
另外,可以在这里补充样本点数量不足的例子。
|
||
<img src="img/how_to_analyze_bluetooth_issues/a2dp/sniffer_avdtp_media_packet_number_abnormal.png" alt="sniffer:abnormal AVDTP media packet sequence number" width="50%"> | ||
|
||
上述log中,实际传输的样本点数量为:7395456 - 7270656 = 124800,远超预期。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
“实际传输的"->”1秒内实际传输的“
|
||
空口出现重传的原因有两种: | ||
|
||
* 设备发送的包没收到对端的回复 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
没收到->没有收到
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
也请注意其他位置
|
||
* 设备发送的包没收到对端的回复 | ||
|
||
* 设备发送的包收到了对端的回复,但回复的ARQN是NAK |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
但回复中ARQN字段的内容是NAK
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
其他地方保持一致,避免口语表述,这是专业性的体现。
|
||
<img src="img/how_to_analyze_bluetooth_issues/a2dp/sniffer_no_response.png" alt="sniffer:packet with no response" width="50%"> | ||
|
||
上述log中,设备发了3次2-DH5包,前两次的包没收到对端设备的回复,SEQN值维持不变,第三次的包收到了对端设备的回复,且回复的ARQN是ACK,SEQN发生了变化,重传结束。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"设备发送了3次2-DH5包" -> "序列号为6536的音频数据包被发送了3次"
"前两次的包" -> "第1、2次发送的数据包"
"第三次的包" -> ”第3次发送的数据包“
|
||
上述log中,设备发了3次2-DH5包,前两次的包没收到对端设备的回复,SEQN值维持不变,第三次的包收到了对端设备的回复,且回复的ARQN是ACK,SEQN发生了变化,重传结束。 | ||
|
||
设备发送的包收到了对端的回复,但回复的ARQN是NAK,典型log如下: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
但回复包中的ARQN字段内容是NAK
|
||
* 若应用未能发送第二耳机连接请求,建议在App侧观察未能发送的原因。 | ||
|
||
* 若应用发送了第二耳机连接请求,但未能建立AVDTP signaling连接,建议对比典型log,观察建立signaling连接中是否出现异常。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"建立signaling连接中"->"建立signaling连接过程中"
|
||
* 若Vela Media未能成功设置codec,建议在Vela Media模块观察未能设置codec的原因。 | ||
|
||
* 若Vela Media成功设置codec,建议观察[观察是否开始播放音乐](#方法观察a2dp-src是否开始播放音乐) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
建议观察[观察
-> 建议[观察
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
其他几处有相似问题
|
||
* [观察sequence number是否连续](#方法观察air-log中的音频包序列号是否连续) | ||
|
||
* 若air log中出问题的音频流中存在音频包序列号不连续,建议Vela蓝牙测观察音频流中音频包的序列号不连续的原因。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
蓝牙测 -> 蓝牙侧
请通篇检查
bug: v/53750