BQB profile 测试中常遇到的问题点汇总
BQB profile 测试中常遇到的问题点汇总
| 版本号 | 修订日期 | 修订说明 |
|---|---|---|
| V1.0 | 2022-06-22前 | 蓝牙做从机BQB profile 认证说明 |
| V1.1 | 2022-06-22 | 新增AC695X 蓝牙做主机BQB profile说明 |
| V1.2 | 2025-07-10 | 新增auracast认证问题处理 |
蓝牙从机
- 过 BQB profile首先要做以下修改:
- BQB profile 认证 蓝牙的一个很重要的特性,即是所有的蓝牙产品都无需实现全部的蓝牙规范。
不同的蓝牙产品,都将根据其产品定位及需求去实现相应的蓝牙规范。在过profile认证前,蓝牙方案商会告知认证公司,其产品支持哪些协议。认证公司以此为根据去对相应的协议进行测试。
因此过profile认证需要根据产品需要支持哪些协议,在软件中相应开启后去实验室测试,否则如果实验室扫出来所支持的协议与实际需要测试的协议不一致则会要求退回整改。
过认证前建议先与实验室了解清楚需要测试哪些项目,如果需要支持A2DP、HFP、AVRCP协议的,(部分测试项需要测试包含电话接听挂断、音量加减、上下曲、语音助手等功能)则需要告知实验室测试时如何操作。
还有部分测试项需要加按键发命令才能测过,已经罗列在“二、经常遇到的一些问题及处理建议”中,建议过认证前先看看需不需要测试相应的测试项,如果需要则加好相应按键功能后再去测试,避免反复整改。
- 程序上如果搜有BT_BQB_PROFILE 宏定义(#define BT_BQB_PROFILE 0x40) 按以下方式修改:
备注:在正常功能样机程序上去搜索和修改
程序上如果搜不到有BT_BQB_PROFILE 宏定义(#define BT_BQB_PROFILE 0x40)
按以下方式修改:
备注:在正常功能样机程序上去搜索和修改

3、如果是692系列,需要支持HPF协议的,在board_main函数中添加代码:
extern void __set_support_msbc_flag(u8 flag);
__set_support_msbc_flag(1);
4、如果是TWS对耳或对箱产品
请做如下修改,将TWS功能关掉,用单耳/单箱测试:
#define TCFG_USER_TWS_ENABLE 0 //tws功能使能
#define TCFG_BD_NUM 1 //连接设备个数配置
- 如果需要支持测2022 A2DP/SNK/AVP/...新增测试项的 需开启AAC格式支持,同时替换第9点的库文件

692系列sdk修改方法:在board_main函数中添加代码:
extern void __set_support_aac_flag(u8 flag);
__set_support_aac_flag(1);
690系列sdk修改方法:
换库:【金山文档 | WPS云文档】 ac69_sdk_v2012_p3&ac69_sdk_v2012_p4蓝牙bqb版本修改最新替换库20240520
https://kdocs.cn/l/cuWuZGpmr7bA
- 2024更新测试标准后 2024更新测试标准后,部分测试项会出现开始测试后样机会与pts连接断开,此时需要按键发送一下命令,根据地址进行回连以继续测试:
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL); - 可视化版本 可视化版本sdk需要发命令的,则将发命令接口从user_send_cmd_prepare换成bt_cmd_prepare
- 702系列 702系列比较特殊,请直接换下面链接sdk去过认证
(注:这两版sdk需4Mflash芯片才够空间升级)
【金山文档 | WPS云文档】 C版芯片_AC702N_profile_BQB_20250813
HYPERLINK "https://kdocs.cn/l/ckHBsH59SPsL" https://kdocs.cn/l/ckHBsH59SPsL
【金山文档 | WPS云文档】 B版芯片_AC702N_profile_BQB_20250710
HYPERLINK "https://kdocs.cn/l/cjSRLO6J7GVA" https://kdocs.cn/l/cjSRLO6J7GVA - 过认证前必须替换的库 过profile测试前需替换下列对应版本库后再去实验室测试,正常做货时再换回原来的库即可。(若更换以下库以及按文档教程修改仍未解决问题,可尝试更换源码中的btctrler.a再进行测试)
2024年更新的测试标准,导致2024年之前的替换库文件均无法使用,需更新最新版本。如下列中无实际对应版本,请联系我们,或换成下列对应版本sdk再替换库文件后去实验室测试。
【金山文档 | WPS云文档】 692v263过profile需要换的库20230327
HYPERLINK "https://kdocs.cn/l/ctBOt6eTQqLX" https://kdocs.cn/l/ctBOt6eTQqLX
【金山文档 | WPS云文档】 AC695N_soundbox_sdk_release_3.1.0_profile测试替换库20250428
HYPERLINK "https://kdocs.cn/l/cmeuJO4vaB6j" https://kdocs.cn/l/cmeuJO4vaB6j
【金山文档 | WPS云文档】 ac696n_soundbox_sdk_v1.7.0_profile测试替换库20241104
HYPERLINK "https://kdocs.cn/l/ceMQS0z8DJaz" https://kdocs.cn/l/ceMQS0z8DJaz
【金山文档 | WPS云文档】 AC897N_AD697N_earphone_release_V2.4.0_profile测试换库20241104
HYPERLINK "https://kdocs.cn/l/ceE8n6FgVmjX" https://kdocs.cn/l/ceE8n6FgVmjX
【金山文档 | WPS云文档】 ad698n_earphone_release_v1.8.1_profile测试换库_20250521
HYPERLINK "https://kdocs.cn/l/cgVFaU0OqvST" https://kdocs.cn/l/cgVFaU0OqvST
【金山文档 | WPS云文档】 700N_TWS_3.0.0_P02.02_profile测试用库_20251212
HYPERLINK "https://www.kdocs.cn/l/cuGQdvFnx1cK" https://www.kdocs.cn/l/cuGQdvFnx1cK
【金山文档 | WPS云文档】 ac701n_earphone_release_v1.6.0_profile测试换库 20250115
HYPERLINK "https://kdocs.cn/l/cbLNPuGBVFqK" https://kdocs.cn/l/cbLNPuGBVFqK
【金山文档 | WPS云文档】 701_le_audio_2.0.0_P02_profile测试换库_20251212
HYPERLINK "https://www.kdocs.cn/l/cnfMC0mdmD6I" https://www.kdocs.cn/l/cnfMC0mdmD6I
【金山文档 | WPS云文档】 703_le_audio_2.0.0_P01.03_profile测试换库_20250804
HYPERLINK "https://kdocs.cn/l/cqbTmZUEoYTw" https://kdocs.cn/l/cqbTmZUEoYTw
【金山文档 | WPS云文档】 706N_soundbox_100_P02_profile测试换库_20250512
HYPERLINK "https://kdocs.cn/l/cnklE1yFalX6" https://kdocs.cn/l/cnklE1yFalX6
【金山文档 | WPS云文档】 708N_TWS_3.0.0_P02_profile测试换库_20250611
HYPERLINK "https://kdocs.cn/l/cbEDMTagTS2W" https://kdocs.cn/l/cbEDMTagTS2W
【金山文档 | WPS云文档】 710_TWS_300_P02_profile测试换库_20250520
HYPERLINK "https://kdocs.cn/l/cgTVLqyHxqk0" https://kdocs.cn/l/cgTVLqyHxqk0
profile测试参考demo程序 【金山文档 | WPS云文档】 AC695N_soundbox_sdk_release_3.1.0_20250428
HYPERLINK "https://kdocs.cn/l/cr1GPS6qAEdB" https://kdocs.cn/l/cr1GPS6qAEdB
【金山文档 | WPS云文档】 ac696n_soundbox_sdk_v1.7.0_profile_20241030
HYPERLINK "https://kdocs.cn/l/caQZdZWvf775" https://kdocs.cn/l/caQZdZWvf775
【金山文档 | WPS云文档】 AC897N_AD697N_earphone_release_V2.4.0_profile_20241010
HYPERLINK "https://kdocs.cn/l/cpObpfcdZ9Kf" https://kdocs.cn/l/cpObpfcdZ9Kf
【金山文档 | WPS云文档】 ad698n_earphone_release_v1.8.1_profile_20250521
HYPERLINK "https://kdocs.cn/l/cfRydtX0jRYc" https://kdocs.cn/l/cfRydtX0jRYc
【金山文档 | WPS云文档】 700N_TWS_3.0.0_P02.02_profile_20251212
HYPERLINK "https://www.kdocs.cn/l/cawiraKtOyof" https://www.kdocs.cn/l/cawiraKtOyof
【金山文档 | WPS云文档】 ac701n_earphone_release_v1.6.0_profile_20241011
HYPERLINK "https://kdocs.cn/l/ccZM3s0LbcM3" https://kdocs.cn/l/ccZM3s0LbcM3
【金山文档 | WPS云文档】 701_le_audio_2.0.0_P02_profile_20251212
HYPERLINK "https://www.kdocs.cn/l/cnW8jLOD8XAp" https://www.kdocs.cn/l/cnW8jLOD8XAp
【金山文档 | WPS云文档】 703_le_audio_2.0.0_P01.03_profile_20250804
HYPERLINK "https://kdocs.cn/l/ccPpiCzdHyWz" https://kdocs.cn/l/ccPpiCzdHyWz
【金山文档 | WPS云文档】 706N_soundbox_100_P02_BQB_profile_20250512
HYPERLINK "https://kdocs.cn/l/cnlO3bmiAmlr" https://kdocs.cn/l/cnlO3bmiAmlr
【金山文档 | WPS云文档】 708N_TWS_3.0.0_P02_profile_20250611
HYPERLINK "https://kdocs.cn/l/cbODziWJIOdn" https://kdocs.cn/l/cbODziWJIOdn
【金山文档 | WPS云文档】 710_TWS_300_P02_profile_20250520
HYPERLINK "https://kdocs.cn/l/cckJIhCX0GN6" https://kdocs.cn/l/cckJIhCX0GN6
【金山文档 | WPS云文档】 709_leaudio_1.0.0_P00.09_bqb_profile_20250911
HYPERLINK "https://www.kdocs.cn/l/cjXMV4TT1eSq" https://kdocs.cn/l/cjXMV4TT1eSq经常遇到的一些问题及处理建议:
1、A2DP
(1)A2DP/SNK/AS/BV-02-C
处理建议:
确认产品是否支援AAC音频格式,若支持,有如下fail,可以检查一下程序是否开启AAC功能,用手机先测试一下能否支持AAC解码;若不支持,则该项case不用测试。
(2)A2DP/SNK/SYN/BV-01-C
To verify that the reported delay value is correct.
The presentation of audio and video shall be synchronized,e.g the presentation has to occur without a noticeable delay
处理建议:
①在bt_profile_config.c中定义u8 a2dp_support_delay_report = 1;
②一般只需要按照①修改即可测过,如果按照①修改后还过不了,再在程序上增加一个按键,出现这个问题时,发送以下命令:
user_send_cmd_prepare(USER_CTRL_A2DP_CMD_START, 0, NULL);
690系列:替换文件:【金山文档 | WPS云文档】 ac69_sdk_v2012_p3&ac69_sdk_v2012_p4蓝牙bqb版本修改最新替换库20240520
HYPERLINK "https://kdocs.cn/l/cuWuZGpmr7bA" \o "https://kdocs.cn/l/cuWuZGpmr7bA" https://kdocs.cn/l/cuWuZGpmr7bA
测试时发user_send_cmd_prepare(USER_CTRL_DISCONN_A2DP , 0, NULL);
(3)A2DP/SNK/AVP/BI-01-C、A2DP/SNK/AVP/BI-02-C、A2DP/SNK/AVP/BI-03-C、A2DP/SNK/AVP/BI-04-C、A2DP/SNK/AVP/BI-05-C、A2DP/SNK/AVP/BI-06-C、A2DP/SNK/AVP/BI-07-C、A2DP/SNK/AVP/BI-08-C、A2DP/SNK/AVP/BI-09-C、A2DP/SNK/AVP/BI-10-C、A2DP/SNK/AVP/BI-11-C、A2DP/SNK/AVP/BI-12-C、A2DP/SNK/AVP/BI-13-C、A2DP/SNK/AVP/BI-14-C、A2DP/SNK/AVP/BI-15-C、A2DP/SNK/AVP/BI-16-C、A2DP/SNK/AVP/BI-20-C、
处理方案:需按照第5点修改开启AAC格式支持、同时替换第6点过认证前需替换的库
(4)A2DP/SNK/REL/BV-02-C
Close the streaming channel.
Action: Disconnect the streaming channel, or close the Bluetooth connection to the PTS.
处理建议:要有一个按键发送命令
user_send_cmd_prepare(USER_CTRL_A2DP_CMD_CLOSE, 0, NULL);
(5)A2DP/SNK/SET/BV-05-C
处理建议:按需求进行3次关机重启回连。
(6)A2DP/SNK/CC/BV-08-C、A2DP/SNK/CC/BV-07-C
这两项要把bitpool设置成53, __set_sbc_cap_bitpool(53);
(7)A2DP/SNK/CGSIT/SFC/BV-02-C
测试项需要增加一个按键回连操作,按第一次回连上会马上断开,然后提示linkkey minssing,这个时候按PTS停止这次测试,再重新开始等待样机回连,此时按键发
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);进行回连就可以测过。
实际到pts工程里大概是开始测试后,前两个弹窗出来后均点ok,此时测试会停住,此时按键发
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);进行回连就可以测过。
- HFP
(1)HFP/HF/OOR/BV-01-C
To verify that HF returns to stand-by state upon link loss. Ensure the HF device is in connectible mode after link loss.
测试目的:验证样机蓝牙连接断开后依然处于可被其他设备连接的可发现可连接状态。
处理方案:关掉超时回连,按下图修改红框内对应内容
if(0){// (!get_remote_test_flag() && !get_esco_busy_flag()) {
INCLUDEPICTURE \d "https://static.dingtalk.com/media/lQLPJxaubJEL40nMu80C5bCwXjSxqt3xiwMe170AwJ4A_741_187.png_620x10000q90.jpg?auth_bizType='IM'" * MERGEFORMATINET 
测试流程:此项开始测试后会有一个电话拨打过来,等弹出第一个窗口点ok,按键控制接听电话。等弹出两个窗口均点ok后,将样机放入屏蔽箱超距断连,等待30秒后会弹出一个窗口,点ok后将样机拿出屏蔽箱。会再弹出一个窗口,点击ok,然后等pts软件回连样机,回连成功后即可通过测试。
(2)HFP/HF/OOR/BV-02-C
To verify that HF can re-connect to AG after a link loss recovery.
测试目的:验证样机蓝牙连接断开后可自主发起回连连接;
①请确认产品是否支持三方通话功能和语音拨号功能,若支持请告知测试公司如何操作,若不支持,就不用测试 (自己产品定义按键)② HF-OOR-BV-02-I:To verify that HF can re-connect to AG after a link loss recovery and transfer the audio pathway to itself. This can be done by user-action or autonomously by the HF after sensing the link-loss
处理建议:
当有一通电话存在,把样机从蓝牙断开范围之外拿回来之后,请告知测试公司如何建立SLC连接:要有一个按键发送
user_send_cmd_prepare(USER_CTRL_SCO_LINK, 0, NULL);和
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);命令
测试流程:此项开始测试后会有一个电话拨打过来,等弹出第一个窗口点ok,按键控制接听电话。等弹出两个窗口均点ok后,关机30秒后会弹出一个窗口,点ok后会再弹出一个窗口,再点击ok后开机,稍等几秒钟开机会自动回连,回连成功后会出应该新的弹窗,点击ok,然后会再出一个弹窗要求建立sco连接,此时可再次关机重启回连,回连成功后一直点ok即可通过测试。
若不会自动回连,也可尝试按键发送
user_send_cmd_prepare(USER_CTRL_SCO_LINK, 0, NULL);SCO回连命令,如果不成功,可以换成发送
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);根据地址去回连,回连成功后一直点ok即可通过测试。
(3)HFP/HF/SLC/BV-03-C
An SLC is established between the HF and AG, initiated by the HF. At least one device does not support three-way calling.
处理建议:出现这种报错,也是要告知测试公司如何建立SLC连接:
要有一个按键发送
user_send_cmd_prepare(USER_CTRL_SCO_LINK, 0, NULL);命令同时程序中注意需要配置:const int CONFIG_LMP_MASTER_ESCO_ENABLE = 1;
如果还是无法建立SLC连接,可尝试测试时先提示框出来之后等7-8s关机再开机回连测试。
①若样机使用的程序是ad698n_earphone_release_v1.3.0 则在对应资料中:
解决方法是:使用资料包中的“若使用ad698n_earphone_release_v1.3.0程序过BQB profile需要更换的蓝牙库.zip”。换库后要记得 rebuilt 。
(4)HFP/HF/ATH/BV-03-C
To verify that HF can transfer the audio paths from the AG to the HF after establishing a service level connection, during an ongoing call.
测试流程:pts软件中此项开始测试等弹出第一个窗口点ok,重新开关机,再等弹出第二个窗口后点击ok,然后按键发送
user_send_cmd_prepare(USER_CTRL_SCO_LINK, 0, NULL)SCO回连命令,之后一直点ok就能过
(4)HFP/HF/ATH/BV-05-C
To verify that the AG can transfer of the audio paths from the AG to the HF after establishing a service level connection during an ongoing call.
处理建议:要有一个按键KEY_MUSIC_PP 去接听电话
5. HFP/HF/IIA/BV-04-C Verify that the HF device can send a correctly formatted command to activate or deactivate some indicators.
处理建议:要有一个按键发送命令
user_send_cmd_prepare(USER_CTRL_HFP_CMD_SEND_BIA, 0, NULL);
6. HFP/HF/VRD/BV-01-C、HFP/HF/VRA/BV-01-C、HFP/HF/VRA/BV-02-C To verify that the HF issues to the AG a request for deactivating the Voice Recognition function.
整改方案:
以上三项修改:如下图加按键根据pts提示框,按键调用打开和关闭siri即可pass
INCLUDEPICTURE \d "https://static.dingtalk.com/media/lALPDetfd75FpE_NAQTNAr8_703_260.png" * MERGEFORMATINET
case KEY_OPEN_SIRI:
static u8 state_siri = 0;
if(state_siri){
state_siri = 0;
user_send_cmd_prepare(USER_CTRL_HFP_GET_SIRI_CLOSE, 0, NULL);
}else{
state_siri = 1;
user_send_cmd_prepare(USER_CTRL_HFP_GET_SIRI_OPEN, 0, NULL);
}
break;
如果样机不能关闭语音助手,遇到此问题时可尝试测试时先通过按键发命令打开siri,再发命令重新关闭siri。
7. HFP/HF/ACC/BV-08-C、HFP/HF/ACC/BV-10-C、HFP/HF/ACC/BV-11-C、HFP/HF/ACC/BV-12-C、HFP/HF/TDS/BV-01-C To verify the capability of the HF of initiating a working Codec Connection Setup as CVSD successfully with an AG following an already successful Codec Connection Setup procedure, selecting the same codec.
整改方案:加个按键测试过程中调用发USER_CTRL_SCO_LINK
INCLUDEPICTURE \d "https://static.dingtalk.com/media/lALPD0P8dB1VearMm80CVA_596_155.png_720x10000.jpg?bizType=report" * MERGEFORMATINET
8. HFP/HF/ACS/BI-13-C 点击测试后会弹出下面这个窗口,此时按键调用以下命令
user_send_cmd_prepare(USER_CTRL_HFP_CALL_ANSWER, 0, NULL);
在调用完上面的命令后,会出现下面的弹窗,此时关掉样机,点击OK,此时需要等待,等一会后会再一次弹出下面的窗口,再次点击OK等待,即可PASS
HFP/HF/TWC/BV-02-C、HFP/HF/TWC/BV-03-C 三方通话相关测试项,根据pts测试窗口提示,发对应命令
// USER_CTRL_HFP_THREE_WAY_ANSWER1, //挂断当前去听另一个(未接听或者在保留状态都可以)// USER_CTRL_HFP_THREE_WAY_ANSWER2, //保留当前去接听, 或者用于两个通话的切换
user_send_cmd_prepare(USER_CTRL_HFP_THREE_WAY_ANSWER1, 0, NULL);user_send_cmd_prepare(USER_CTRL_HFP_THREE_WAY_ANSWER2, 0, NULL);HFP/HF/CGSIT/SFC/BV-01-C 测试项需要增加一个按键回连操作,按第一次回连上会马上断开,然后提示linkkey minssing,这个时候按PTS停止这次测试,再重新开始等待样机回连,此时按键发
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);进行回连就可以测过。
实际到pts工程里大概是开始测试后,前两个弹窗出来后均点ok,此时测试会停住,此时按键发
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);进行回连就可以测过。
如果按照以上方法测试不通过,则第二个弹窗出来后点no,再按键发
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);进行回连。HFP/HF/TCA/BV-04-C 先测试HFP/HF/TCA/BV-03-C项,记录一个电话号码,再测试BV-04-C项,开始测试后,单击OK,然后发回拨按键KEY_CALL_LAST_NO,再发KEY_MUSIC_PP键挂断电话,即可PASS。
HFP/HF/ICR/BV-01-C 开始测试后,按照弹窗提示,发拒接电话命令user_send_cmd_prepare(USER_CTRL_HFP_CALL_HANGUP, 0, NULL),即可PASS。
HFP/HF/ACC/BV-03-C 先测试其他项保留回连地址,开始测试后,单击OK,然后关机重启回连,建立连接后,后续弹窗按OK,即可PASS。
HFP/HF/ACC/BV-09-C 开始测试后,单击OK,然后发SCO连接命令
user_send_cmd_prepare(USER_CTRL_SCO_LINK, 0, NULL),然后点击OK,即可PASS。HFP/HF/ACS/BI-13-C 开始测试后,发接听电话命令
user_send_cmd_prepare(USER_CTRL_HFP_CALL_ANSWER, 0, NULL);
后续的弹窗均点击OK,即可PASS。AVRCP
AVRCP TG端关掉方法:关掉音量同步功能
- AVRCP/CT/CEC/BV-01-C To verify that the CT can establish a connection for control towards the TG.
处理建议:如果测试没有通过,可先尝试测试时先测AVRCP/CT/CEC/BV-02-I,有个记录,然后测试AVRCP/CT/CEC/BV-01-I,提示框出来的时候按键发起回连,若出现断连消息,则再次按键回连,最后提示断开,只需关机即可通过。
①若样机使用的程序是AC693x_sdk_release_V0.6.8 、V0.6.7或0.6.9 则在对应资料中:
解决方法是:使用资料包中的“若使用AC693x_sdk_release_V0.6.8程序需要更换的蓝牙库.zip”蓝牙库或“若使用AC693x_sdk_release_V0.6.7程序需要更换的蓝牙库.zip”蓝牙库,或“若使用AC693x_sdk_release_V0.6.9程序需要更换的蓝牙库.zip”蓝牙库,换库后要记得 rebuilt 。
②若样机使用的程序是AC695N_earphone_sdk_release_0.1.9 则在对应资料中:
解决方法是:使用资料包中的“若使用AC695N_earphone_sdk_release_0.1.9程序需要更换的蓝牙库.zip”。换库后要记得 rebuilt 。
③若样机使用的程序是AC897N_AD697N_earphone_release_V2.1.0 则在对应资料中:
解决方法是:使用资料包中的“若使用AC897N_AD697N_earphone_release_V2.1.0程序需要更换的蓝牙库.zip”。换库后要记得 rebuilt 。
④如果使用的是比较高版本的SDK,没有以上描述的库,则按以下两点修改:(大部分版本按此修改)
- 关掉TWS功能:

B、关掉主从切换:

- AVRCP/CT/PTH/BV-01-C、AVRCP/CT/PTT/BV-01-C 要有一个按键能根据pts提示窗触发播放暂停,上下曲等命令;
- AVRCP/CT/CGSIT/SFC/BV-01-C 第一种测试方法:
测试项需要增加一个按键回连操作,按第一次回连上会马上断开,然后提示linkkey minssing,这个时候按PTS停止这次测试,再重新开始等待样机回连,此时按键发
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);进行回连就可以测过。
实际到pts工程里大概是开始测试后,前两个弹窗出来后均点ok,此时测试会停住,此时按键发
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);进行回连就可以测过。
第二种测试方法:
测试这一项时,先点击上图位置删除Security Key,开始测试后pts第一个弹窗出来点ok,第二个弹窗出来点no,随后等待样机回连即可测过。
4. AVRCP/CT/PTT/BV-01-C 要找个文件定义
u8 avctp_browsing_support_for_bqb = 1;
AVRCP/TG/VLH-BI-01-C、AVRCP/TG/VLH/BI-04-C 如果需要支持AVRCP TG角色,则开启音量同步,否则关闭;
处理建议:请告知测试公司如何调节音量的大小。(自己样机按键是如何调音量大小的)
解决方案:开启音量同步,用按键将小机音量调节同步到远端。要有一个按键KEY_VOL_UP和KEY_VOL_DOWN去根据pts提示框调节音量大小
如果没有效果,可以尝试把HID协议关掉测试:
AVRCP/TG/PTT/BV-02-C 要找个文件定义
u8 avctp_browsing_support_for_bqb = 1;AVRCP/TG/CRC/BV-02-C 开始测试后pts会主动断开连接,导致测试流程卡主,此时需要发这条回连命令:
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);
回连上pts设备后,需要测试样机主动断开与pts的AVRCP连接,等pts提示窗口提示需要断开连接后,关机或者发命令:user_send_cmd_prepare(USER_CTRL_AVCTP_DISCONNECT, 0, NULL);AVRCP/TG/CGSIT/SFC/BV-01-C 测试项需要增加一个按键回连操作,按第一次回连上会马上断开,然后提示linkkey minssing,这个时候按PTS停止这次测试,再重新开始等待样机回连,此时按键发
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);进行回连就可以测过。
实际到pts工程里大概是开始测试后,前两个弹窗出来后均点ok,此时测试会停住,此时按键发
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);进行回连就可以测过。
如果按照以上方法测试不通过,则第二个弹窗出来后点no,再按键发
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);进行回连。HOGP
(1)HOGP/HD/HGDS/BV-01-I

解决方案:直接跑hid case的工程就可以过了
- RFCOMM ①测试rfcomm,提醒实验室先在PTS软件上修改下图iut以及uuid16位置的信息值


②开始测rfcomm测试项时,当pts弹窗提示连接时,需先发下面这条命令连接RFCOMMuser_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);
③可以先测DEVB部分,有了地址之后,再按键测试DEVA部分。测试DEVA项目是耳机去回连
- RFCOMM/DEVA-DEVB/RFC/BV-07-C 若已连接rfcomm,则等待完成连接后调下这个接口
extern void BQB_send_rfcomm_disc();
BQB_send_rfcomm_disc();
若未连接,则先发下面这条命令连接RFCOMM
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);
2. RFCOMM/DEVA-DEVB/RFC/BV-04-C 若已连接rfcomm,则等待完成连接后调下这个接口
extern void BQB_close_rfcomm_session();
BQB_close_rfcomm_session(); //TP/RFC/BV-04-C
若未连接,则先发下面这条命令连接RFCOMM
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);
- RFCOMM/DEVA-DEVB/RFC/BV-21-CRFCOMM/DEVB/RFC/BV-06-C 若已连接rfcomm,则等待完成连接后调下这个接口
extern void hfp_BQB_test_rfcomm_send_data();
hfp_BQB_test_rfcomm_send_data(); //TP/RFC/BV-21-C 发一次
若未连接,则先发下面这条命令连接RFCOMM
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);
4. RFCOMM/DEVA/RFC/BV-01-CRFCOMM/DEVA/RFC/BV-05-CRFCOMM/DEVB/RFC/BV-02-CRFCOMM/DEVA-DEVB/RFC/BV-03-CRFCOMM/DEVA-DEVB/RFC/BV-08-CRFCOMM/DEVA-DEVB/RFC/BV-11-CRFCOMM/DEVA-DEVB/RFC/BV-13-CRFCOMM/DEVA-DEVB/RFC/BV-15-CRFCOMM/DEVA-DEVB/RFC/BV-17-CRFCOMM/DEVA-DEVB/RFC/BV-19-CRFCOMM/DEVA-DEVB/RFC/BV-22-CRFCOMM/DEVA-DEVB/RFC/BV-25-C 若已连接rfcomm,则等待样机回连后开始测试即可直接测过若未连接,则发下面这条命令连接RFCOMM即可测过
user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);
692系列:软件修改如下后,开始测试后可直接pass


- MESH
(1)MESH/NODE/BCN/SNB/BV-01-C

解决方案:修改软件如下


IOPT
IOPT/CL/A2DP-SRC/SFC/BV-04-I 测试流程:pts开始测试后第一个弹窗出来点击ok,等第二个弹窗出来点NO,然后样机断电重启即可测过
IOPT/CL/AVRCP-CT/SFC/BV-03-I 测试流程:pts开始测试后第一个弹窗出来点击ok,等第二个弹窗出来点NO,然后样机断电重启即可测过
AVDTP
AVDTP/SRC/INT/SIG/SMG/BV-19-C 测试时根据pts弹窗发送命令:
user_emitter_cmd_prepare(USER_CTRL_A2DP_CMD_CLOSE,0,NULL);AVDTP/SRC/INT/SIG/SMG/BV-23-C 测试时根据pts弹窗发送命令:
user_emitter_cmd_prepare(USER_CTRL_A2DP_CMD_ABORT,0,NULL);AVDTP/SRC/INT/SIG/SMG/BV-25-C、AVDTP/SRC/INT/SIG/SMG/BV-28-C、AVDTP/SRC/INT/SIG/SMG/BV-35-C、AVDTP/SRC/INT/SIG/SMG/BV-36-C 添加代码:
USER_CTRL_A2DP_CMD_ALL_CAP, // 142
测试时根据pts弹窗发送命令:
user_emitter_cmd_prepare(USER_CTRL_A2DP_CMD_ALL_CAP,0,NULL);
HID 2024更新测试标准后,HID测试项目需修改如下
const u8 sdp_make_hid_service_data[] = {
0x35, 0xEF, 0x09, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x06, 0x09, 0x00, 0x01, 0x35, 0x03, 0x19,
0x11, 0x24, 0x09, 0x00, 0x04, 0x35, 0x0D, 0x35, 0x06, 0x19, 0x01, 0x00, 0x09, 0x00, 0x11, 0x35,
0x03, 0x19, 0x00, 0x11, 0x09, 0x00, 0x05, 0x35, 0x03, 0x19, 0x10, 0x02, 0x09, 0x00, 0x06, 0x35,
0x09, 0x09, 0x65, 0x6E, 0x09, 0x00, 0x6A, 0x09, 0x01, 0x00, 0x09, 0x00, 0x08, 0x08, 0xFF, 0x09,
0x00, 0x09, 0x35, 0x08, 0x35, 0x06, 0x19, 0x11, 0x24, 0x09, 0x01, 0x01, 0x09, 0x00, 0x0D, 0x35,
0x0F, 0x35, 0x0D, 0x35, 0x06, 0x19, 0x01, 0x00, 0x09, 0x00, 0x13, 0x35, 0x03, 0x19, 0x00, 0x11,
0x09, 0x01, 0x00, 0x25, 0x17, 0x48, 0x75, 0x6D, 0x61, 0x6E, 0x20, 0x49, 0x6E, 0x74, 0x65, 0x72,
0x66, 0x61, 0x63, 0x65, 0x20, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x00, 0x09, 0x02, 0x00, 0x09,
0x01, 0x11, 0x09, 0x02, 0x02, 0x08, 0x0C, 0x09, 0x02, 0x03, 0x08, 0x21, 0x09, 0x02, 0x04, 0x28,
0x01, 0x09, 0x02, 0x05, 0x28, 0x01, 0x09, 0x02, 0x06, 0x35, 0x2F, 0x35, 0x2D, 0x08, 0x22, 0x25,
0x29, 0x05, 0x0C, 0x09, 0x01, 0xA1, 0x01, 0x85, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x08, 0x09, 0xEA, 0x09, 0xE9, 0x09, 0xE2, 0x09, 0xCD, 0x09, 0xB6, 0x09, 0xB5, 0x09, 0x83, 0x09,
0xB4, 0x81, 0x02, 0x75, 0x08, 0x95, 0x02, 0x91, 0x03, 0xC0, 0x09, 0x02, 0x07, 0x35, 0x08, 0x35,
0x06, 0x09, 0x04, 0x09, 0x09, 0x01, 0x00, 0x09, 0x02, 0x0E, 0x28, 0x01, 0x09, 0x02, 0x0B, 0x09,
0x01, 0x00, 0x09, 0x02, 0x0A, 0x28, 0x01, 0x09, 0x02, 0x09, 0x28, 0x01, 0x09, 0x02, 0x0D, 0x28,
0x01,
};GAVDP
GAVDP/ACP/APP/CON/BV-01-C 直接给测试结果,如下:
【金山文档 | WPS云文档】 GAVDP测试结果
HYPERLINK "https://www.kdocs.cn/l/ckInMKNTJDws" https://www.kdocs.cn/l/ckInMKNTJDws版本问题
1、BQB profile版本
- AC690X 【金山文档 | WPS云文档】 ac69_sdk_v2012_p3&ac69_sdk_v2012_p4蓝牙bqb版本修改最新替换库20240520
HYPERLINK "https://kdocs.cn/l/cuWuZGpmr7bA" \o "https://kdocs.cn/l/cuWuZGpmr7bA" https://kdocs.cn/l/cuWuZGpmr7bA - AC692X 【金山文档】 AC692X profile 认证HFP、A2DP等协议版本更新
HYPERLINK "https://kdocs.cn/l/cnY0IZBAjvUm" \o "https://kdocs.cn/l/cnY0IZBAjvUm" https://kdocs.cn/l/cnY0IZBAjvUm - AC695XAC696X/AC697X/AC700X/AC701X
① A2DP 、GAVDP/AVDTP的版本问题
提示 A2DP 、GAVDP/AVDTP的版本号不正确,需要改版本号的,可以参考以下改法(以下例子是将版本号修改为V1.3):
重新定义以下A2DP版本信息数组:
const u8 sdp_a2dp_service_data_v10[79] = {0x36, 0x00, 0x4A, 0x09, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x01, 0x09, 0x00, 0x01, 0x36, 0x00,0x03, 0x19, 0x11, 0x0B, 0x09, 0x00, 0x04, 0x36, 0x00, 0x12, 0x36, 0x00, 0x06, 0x19, 0x01, 0x00,0x09, 0x00, 0x19, 0x36, 0x00, 0x06, 0x19, 0x00, 0x19, 0x09, 0x01, 0x03/GAVDP/AVDTP version/, 0x09, 0x00, 0x09, 0x36,0x00, 0x09, 0x36, 0x00, 0x06, 0x19, 0x11, 0x0D, 0x09, 0x01, 0x03/*A2DP version */, 0x09, 0x03, 0x11, 0x09, 0x00,0x01, 0x09, 0x01, 0x00, 0x25, 0x07, 0x4A, 0x4C, 0x5F, 0x41, 0x32, 0x44, 0x50, 0x00, 0x00};
红色这里改为 0x01,0x03 。 就是 V1.3 版本
在程序文件 bt_profile_config.c 中替换SDK原先使用的数组:
注意:若有实验室要求把A2DP 版本改成1.3.2 。那么请按以上描述,改成1.3 。然后跟实验室称支持1.3.2 即可。
② HFP 的版本问题
提示 HFP 的版本号不正确,需要改版本号的,可以参考以下改法(以下例子是将版本号修改为V1.7):
重新定义以下HFP版本信息数组:
const u8 sdp_hfp_service_data_v10[77] = { 0x36, 0x00, 0x48, 0x09, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x03, 0x09, 0x00, 0x01, 0x36, 0x00,0x06, 0x19, 0x11, 0x1E, 0x19, 0x12, 0x03, 0x09, 0x00, 0x04, 0x36, 0x00, 0x0E, 0x36, 0x00, 0x03,0x19, 0x01, 0x00, 0x36, 0x00, 0x05, 0x19, 0x00, 0x03, 0x08, 0x04, 0x09, 0x00, 0x09, 0x36, 0x00,0x09, 0x36, 0x00, 0x06, 0x19, 0x11, 0x1E, 0x09, 0x01, 0x07/hfp version/, 0x09, 0x03, 0x11, 0x09, 0x00, 0x3F,0x09, 0x01, 0x00, 0x25, 0x06, 0x4A, 0x4C, 0x5F, 0x48, 0x46, 0x50, 0x00, 0x00, };
备注:0x01, 0x07/hfp version/ 这里就是HFP版本为1.7
在程序文件 bt_profile_config.c 中替换SDK原先使用的数组:
③ AVCTP 的版本问题
提示 AVCTP 的版本低,需要改版本号的,可以参考以下改法(以下例子是将版本号修改为V1.4):
(注意:第③点的AVCTP 和第④点的AVRCP的版本问题修改是共用数组的!)
重新定义以下AVCTP版本信息数组:
const u8 sdp_avctp_ct_service_data_v10[70] = {0x36, 0x00, 0x41, 0x09, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x02, 0x09, 0x00, 0x01, 0x36, 0x00,0x06, 0x19, 0x11, 0x0E, 0x19, 0x11, 0x0F, 0x09, 0x00, 0x04, 0x36, 0x00, 0x12, 0x36, 0x00, 0x06,0x19, 0x01, 0x00, 0x09, 0x00, 0x17, 0x36, 0x00, 0x06, 0x19, 0x00, 0x17, 0x09, 0x01, 0x04/AVCTP VERSION/, 0x09,0x00, 0x09, 0x36, 0x00, 0x09, 0x36, 0x00, 0x06, 0x19, 0x11, 0x0E, 0x09, 0x01, 0x05/AVRCP VERSION/, 0x09, 0x03,0x11, 0x09, 0x00, 0x01, 0x00, 0x00,};
备注:0x01, 0x04/AVCTP VERSION/这里就是AVCTP版本为1.4
若有音量同步功能还需要重定义以下数组(没有音量同步功能则不需要修改):const u8 sdp_avctp_ta_service_data[67] = {0x36, 0x00, 0x3E, 0x09, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x05, 0x09, 0x00, 0x01, 0x36, 0x00,0x03, 0x19, 0x11, 0x0C, 0x09, 0x00, 0x04, 0x36, 0x00, 0x12, 0x36, 0x00, 0x06, 0x19, 0x01, 0x00,0x09, 0x00, 0x17, 0x36, 0x00, 0x06, 0x19, 0x00, 0x17, 0x09, 0x01, 0x04/AVCTP VERSION/, 0x09, 0x00, 0x09, 0x36,0x00, 0x09, 0x36, 0x00, 0x06, 0x19, 0x11, 0x0E, 0x09, 0x01, 0x05/AVRCP VERSION/, 0x09, 0x03, 0x11, 0x09, 0x00, 0x02, 0x00, 0x00,};
备注:0x01, 0x04/AVCTP VERSION/这里就是AVCTP版本为1.4
在程序文件 bt_profile_config.c 中替换SDK原先使用的数组:
④ AVRCP的版本问题
提示 AVRCP 的版本低,需要改版本号的,可以参考以下改法(以下例子是将版本号修改为V1.6):
(注意:第③点的AVCTP 和第④点的AVRCP的版本问题修改是共用数组的!)
重新定义以下AVRCP版本信息数组:
const u8 sdp_avctp_ct_service_data_v10[70] = {0x36, 0x00, 0x41, 0x09, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x02, 0x09, 0x00, 0x01, 0x36, 0x00,0x06, 0x19, 0x11, 0x0E, 0x19, 0x11, 0x0F, 0x09, 0x00, 0x04, 0x36, 0x00, 0x12, 0x36, 0x00, 0x06,0x19, 0x01, 0x00, 0x09, 0x00, 0x17, 0x36, 0x00, 0x06, 0x19, 0x00, 0x17, 0x09, 0x01, 0x04/AVCTP VERSION/, 0x09,0x00, 0x09, 0x36, 0x00, 0x09, 0x36, 0x00, 0x06, 0x19, 0x11, 0x0E, 0x09, 0x01, 0x06/AVRCP VERSION/, 0x09, 0x03,0x11, 0x09, 0x00, 0x01, 0x00, 0x00,};
备注:0x01, 0x06/AVRCP VERSION/这里就是AVRCP版本为1.6
若有音量同步功能还需要重定义以下数组(没有音量同步功能则不需要修改):const u8 sdp_avctp_ta_service_data_v10[67] = {0x36, 0x00, 0x3E, 0x09, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x05, 0x09, 0x00, 0x01, 0x36, 0x00,0x03, 0x19, 0x11, 0x0C, 0x09, 0x00, 0x04, 0x36, 0x00, 0x12, 0x36, 0x00, 0x06, 0x19, 0x01, 0x00,0x09, 0x00, 0x17, 0x36, 0x00, 0x06, 0x19, 0x00, 0x17, 0x09, 0x01, 0x04/AVCTP VERSION/, 0x09, 0x00, 0x09, 0x36,0x00, 0x09, 0x36, 0x00, 0x06, 0x19, 0x11, 0x0E, 0x09, 0x01, 0x06/AVRCP VERSION/, 0x09, 0x03, 0x11, 0x09, 0x00, 0x02, 0x00, 0x00,};
备注:0x01, 0x06/AVRCP VERSION/这里就是AVRCP版本为1.6
在程序文件 bt_profile_config.c 中替换SDK原先使用的数组:
⑤ spp版本问题
处理方案:修改软件
const u8 sdp_spp_service_data_2[68] = {
0x36, 0x00, 0x3F, 0x09, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x04, 0x09, 0x00, 0x01, 0x36, 0x00,
0x03, 0x19, 0x11, 0x01, 0x09, 0x00, 0x04, 0x36, 0x00, 0x0E, 0x36, 0x00, 0x03, 0x19, 0x01, 0x00,
0x36, 0x00, 0x05, 0x19, 0x00, 0x03, 0x08, 0x02, 0x09, 0x00, 0x09, 0x36, 0x00, 0x09, 0x36, 0x00,
0x06, 0x19, 0x11, 0x01, 0x09, 0x01, 0x02, 0x09, 0x01, 0x00, 0x25, 0x06, 0x4A, 0x4C, 0x5F, 0x53,
0x50, 0x50, 0x00, 0x00,
};
u8 spp_profile_support = 1;
SDP_RECORD_HANDLER_REGISTER(spp_sdp_record_item) = {
// .service_record = (u8 *)sdp_spp_service_data,
.service_record = (u8 *)sdp_spp_service_data_2,
.service_record_handle = 0x00010004,
};
2、蓝牙版本
(1)AC690X
/*AC690蓝牙BQB版本设置
这里的0x08改为0x0a,对应的就是5.1的。
0x08 4.2
0x09 5.0
0x0a 5.1
0x0b 5.2
0x0c 5.3
0x0d 5.4
AC690 系列修改蓝牙版本号,由于 SDK 中默认把蓝牙的版本写为 2.1,在外层可以进行修改。ac690x 系列程序修改蓝牙版本信息修改在 bt_configs_user.c 文件里面添加下面代码
*/
struct lmp_deviceni
{
u8 *name;
u8 pin_code[16];
u8 addr[6];
u8 version[5];
};
extern struct lmp_device local;
void patch_version()
{
local.version[0]=0x08;
local.version[1]=0xd6;
local.version[2]=0x05;
}
在bt_app_cfg 函数开头调用 patch_version 函数如下!
INCLUDEPICTURE \d "http://www.kdocs.cn/api/v3/office/copy/Ylc4TmdDSUxuVFVPZ2FNY0xucDJMZnIzblFoL3I3WHk4aHgyZjlrQWh3OGtmRXpYejdSV094c3YvRXo0WDE3bzA5bkEzKzZXUEQ3bFN5aFVFN1hMK2hZNDMzVXRJL1p3SmZwcWZRZmdyNzM3cXV4VWt3R2R5ZUJwTmM4UjlJekpQNDZyaXcxd3E0SGl2b3RJVWcwcFVIaXQveDdRZjVLdnh3WVV3bjM5THJXWUJJTUJCeXlpTmRCMDkvZEM3U00rbUlkTnhHak05M29YSDlpV0Y1MUg2VEJTQjJSZ2RLTEdiazgxeUFxbnpUNngwejIvRnR6Sk95eVRiZ0UxWTYzd1M0L3Z0WVVnWWQ0PQ==/attach/object/OYUXUAQAVI?" * MERGEFORMATINET
【金山文档】 bluetooth_lib-690-emitter_v107-BQB-修改5.3
HYPERLINK "https://kdocs.cn/l/cnEkA0rXnc45" \t "_Blank" https://kdocs.cn/l/cnEkA0rXnc45
【金山文档】 bluetooth_lib-690-v2012v4-BQB-修改5.3
HYPERLINK "https://kdocs.cn/l/cqWEp330X0sl" \t "_Blank" https://kdocs.cn/l/cqWEp330X0sl
(2)AC692X
在上层 APP 程序加入如下修改,把蓝牙版本修改为 5.0 版本。
extern u8 *get_device_version(void);
u8 *lmp_pal_version = get_device_version();
*lmp_pal_version = 0x09;
INCLUDEPICTURE \d "http://www.kdocs.cn/api/v3/office/copy/Ylc4TmdDSUxuVFVPZ2FNY0xucDJMZnIzblFoL3I3WHk4aHgyZjlrQWh3OGtmRXpYejdSV094c3YvRXo0WDE3bzA5bkEzKzZXUEQ3bFN5aFVFN1hMK2hZNDMzVXRJL1p3SmZwcWZRZmdyNzM3cXV4VWt3R2R5ZUJwTmM4UjlJekpQNDZyaXcxd3E0SGl2b3RJVWcwcFVIaXQveDdRZjVLdnh3WVV3bjM5THJXWUJJTUJCeXlpTmRCMDkvZEM3U00rbUlkTnhHak05M29YSDlpV0Y1MUg2VEJTQjJSZ2RLTEdiazgxeUFxbnpUNngwejIvRnR6Sk95eVRiZ0UxWTYzd1M0L3Z0WVVnWWQ0PQ==/attach/object/56MRAAYA2A?" * MERGEFORMATINET
【金山文档】 bluetooth_lib-br21-v2.6.3-BQB-修改5.3
HYPERLINK "https://kdocs.cn/l/ck7wl55B6q0S" \t "_Blank" https://kdocs.cn/l/ck7wl55B6q0S
(3)AC695X/AC696X/AC697X/AC700X 蓝牙版本号修改
蓝牙版本修改(蓝牙5.3就设置0x0c,蓝牙5.4就设置0x0d):
INCLUDEPICTURE \d "http://www.kdocs.cn/api/v3/office/copy/Ylc4TmdDSUxuVFVPZ2FNY0xucDJMZnIzblFoL3I3WHk4aHgyZjlrQWh3OGtmRXpYejdSV094c3YvRXo0WDE3bzA5bkEzKzZXUEQ3bFN5aFVFN1hMK2hZNDMzVXRJL1p3SmZwcWZRZmdyNzM3cXV4VWt3R2R5ZUJwTmM4UjlJekpQNDZyaXcxd3E0SGl2b3RJVWcwcFVIaXQveDdRZjVLdnh3WVV3bjM5THJXWUJJTUJCeXlpTmRCMDkvZEM3U00rbUlkTnhHak05M29YSDlpV0Y1MUg2VEJTQjJSZ2RLTEdiazgxeUFxbnpUNngwejIvRnR6Sk95eVRiZ0UxWTYzd1M0L3Z0WVVnWWQ0PQ==/attach/object/VU4J6AQAIM?" * MERGEFORMATINET
(4)AC702X 蓝牙版本号修改
蓝牙版本修改(蓝牙5.3就设置0x0c,蓝牙5.4就设置0x0d):
INCLUDEPICTURE \d "http://www.kdocs.cn/api/v3/office/copy/Ylc4TmdDSUxuVFVPZ2FNY0xucDJMZnIzblFoL3I3WHk4aHgyZjlrQWh3OGtmRXpYejdSV094c3YvRXo0WDE3bzA5bkEzKzZXUEQ3bFN5aFVFN1hMK2hZNDMzVXRJL1p3SmZwcWZRZmdyNzM3cXV4VWt3R2R5ZUJwTmM4UjlJekpQNDZyaXcxd3E0SGl2b3RJVWcwcFVIaXQveDdRZjVLdnh3WVV3bjM5THJXWUJJTUJCeXlpTmRCMDkvZEM3U00rbUlkTnhHak05M29YSDlpV0Y1MUg2VEJTQjJSZ2RLTEdiazgxeUFxbnpUNngwejIvRnR6Sk95eVRiZ0UxWTYzd1M0L3Z0WVVnWWQ0PQ==/attach/object/62IJCBIA4I?" * MERGEFORMATINET
修改蓝牙版本号,改成5.3的话就是传0x0C 的值:

- 蓝牙6.0版本修改方法 按下面截图修改设置为6.0版本,再按上面教程修改HFP版本为1.9,AVRCP版本为1.6.

#define BLUETOOTH_CORE_SPEC_54 0x0d
#define BLUETOOTH_CORE_SPEC_60 0x0e
set_bt_version(BLUETOOTH_CORE_SPEC_60);//设置蓝牙 core 版本号
蓝牙主机
一、AC695X&AC696X蓝牙发射器过BQB profile前需要做以下修改:
1、过认证前需替换的库(有测A2DP新增测试项必须换)
如果有使用到下列sdk测BQB profile认证,需替换对应库后再去实验室测试,正常做货时再换回原来的库即可。(提供的库有认证的流程修改,不用于正常程序)
如果没有使用到下列sdk,请联系我们获取对应版本sdk替换库文件后,再去实验室测试。
【金山文档】 695v200过profile需要换的库20230106
HYPERLINK "https://kdocs.cn/l/cbZayCpiuHw7" https://kdocs.cn/l/cbZayCpiuHw7
【金山文档】 AC695X SDK301蓝牙发射器过BQB profile需要替换的库
HYPERLINK "https://kdocs.cn/l/ctvyGGUvTl3G" https://kdocs.cn/l/ctvyGGUvTl3G
【金山文档】 695v304过profile需要换的库20230414
https://kdocs.cn/l/ct3GlsaqFLm4
【金山文档】 695v310过profile需要换的库20230110
HYPERLINK "https://kdocs.cn/l/ce2YGDNR4LoY" https://kdocs.cn/l/ce2YGDNR4LoY
【金山文档】 696v140过profile需要换的库20230106
HYPERLINK "https://kdocs.cn/l/cg5xyUlas5XZ" https://kdocs.cn/l/cg5xyUlas5XZ
【金山文档】 696v150过profile需要换的库20230414
https://kdocs.cn/l/ca0NRVB4WYFi
【金山文档】 696v170过profile需要换的库20230207
HYPERLINK "https://kdocs.cn/l/cjxPW10x9c2p" https://kdocs.cn/l/cjxPW10x9c2p
2、#define USER_SUPPORT_PROFILE_A2DP 0 (这个是A2DP sink的,蓝牙发射器只需要测试A2DP source,因此将其关闭)
3、编译报错在lib_btctrler_config.c加几个定义
const int config_le_hci_connection_num = 0;//支持同时连接个数 const int config_le_sm_support_enable = 0; //是否支持加密配对 const int config_le_gatt_server_num = 0; //支持server角色个数 const int config_le_gatt_client_num = 0; //支持client角色个数
4、库的这个函数定义变了extern void __emitter_send_media_toggle(u8 *addr,u8 toggle);
统一改成__emitter_send_media_toggle(NULL,1);
5、在void bt_function_select_init函数里面加上:
change_hci_class_type(0x28041C);
6、在void emitter_or_receiver_switch(u8 flag)函数里面,原来上电搜索的改成等测试设备连接
INCLUDEPICTURE \d "C:\Users\SPC20-~1\AppData\Local\Temp\ksohtml13628\wps1.jpg" * MERGEFORMATINET

二、经常遇到的一些问题及处理建议:
1、A2DP/SRC/REL/BV-01-I提示这个的话:
INCLUDEPICTURE \d "C:\Users\SPC20-~1\AppData\Local\Temp\ksohtml13628\wps2.jpg" * MERGEFORMATINET 
需要打开可发现可连接:
user_send_cmd_prepare(USER_CTRL_WRITE_SCAN_ENABLE, 0, NULL);
user_send_cmd_prepare(USER_CTRL_WRITE_CONN_ENABLE, 0, NULL);
可以在样机开机切进蓝牙发射模式时调用或按键发消息处理:
切发射模式时调用例子:
INCLUDEPICTURE \d "C:\Users\SPC20-~1\AppData\Local\Temp\ksohtml13628\wps3.jpg" * MERGEFORMATINET 
2、提示以下错误:
INCLUDEPICTURE \d "C:\Users\SPC20-~1\AppData\Local\Temp\ksohtml13628\wps4.jpg" * MERGEFORMATINET 
做一个需要发一下命令:
if (get_emitter_curr_channel_state() & A2DP_SRC_CH) {
user_emitter_cmd_prepare(USER_CTRL_A2DP_CMD_CLOSE, 0, NULL);
}
3、提示 A2DP 、GAVDP/AVDTP的版本号不正确,需要改版本号的,可以参考以下改法(以下例子是将版本号修改为V1.3):
重新定义以下A2DP版本信息数组:
const u8 sdp_a2dp_source_service_data_source[] = { 0x36, 0x00, 0x4E, 0x09, 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x0B, 0x09, 0x00, 0x01, 0x36, 0x00,0x03, 0x19, 0x11, 0x0A, 0x09, 0x00, 0x04, 0x36, 0x00, 0x12, 0x36, 0x00, 0x06, 0x19, 0x01, 0x00,0x09, 0x00, 0x19, 0x36, 0x00, 0x06, 0x19, 0x00, 0x19, 0x09, 0x01, 0x03/*A2DP version */, 0x09, 0x00, 0x09, 0x36, 0x00, 0x09, 0x36, 0x00, 0x06, 0x19, 0x11, 0x0D, 0x09, 0x01, 0x03/*GAVDP/AVDTP version */, 0x09, 0x03, 0x11, 0x09, 0x00,0x01, 0x09, 0x01, 0x00, 0x25, 0x0B, 0x4A, 0x4C, 0x5F, 0x41, 0x32, 0x44, 0x50, 0x5F, 0x53, 0x52,0x43, 0x00, };
红色这里改为 0x01 和 0x03。 就是 V1.3 版本
在程序文件 bt_profile_config.c 中替换SDK原先使用的数组:
注意:数组修改的地方,和数组内容跟蓝牙从机上面AD2DP数组和修改位置是不一样的哦。要仔细检查好!
三、demo程序:
1、【金山文档】 AC695X_SDK v300发射器BQB认证参考程序
HYPERLINK "https://kdocs.cn/l/cgi1BCadD74O" https://kdocs.cn/l/cgi1BCadD74O
注意:若样机程序添加了一些自动回连等相关操作的。请先关掉再测试。因为这些自行添加的功能有时会影响认证测试。若按上述文档处理完后,还测试不通过,建议用公版SDK,稍微改些按键测试确认。
LE_AUDIO Profile(Auracast)
一、发射端
1、PBP
- PBP/PBS/STR/BV-01-C、PBP/PBS/STR/BV-05-C INCLUDEPICTURE \d "http://www.kdocs.cn/api/v3/office/copy/WXBQS21PTGdxRUIrMDhObXNGL2lKbzdtQitMWmg0VjJHbkJvMm5DajFEa0t6SFIrTFRBeG42OU1uRGROYnovNExFdjNTdUh2d3N1VVJ3WGxCNFpJc2FBWlQxT3plOTBlckt6eGFKUGtXNFFZUmhYV0k0UkxWZEdPeEhlbnVEcjNJS3lwWGZYc3ExWU44NjFUcFJXNUM1dkhsQ0RMNGVDdHZvbUtKbTdZbFVSMEsxM3JHM1MzbkZsL05yS2ZGajZrQWo3QmNNMk0rN2w5UDJGbzd6RytPUXh0UnA5VjNkK2tESkZkcitMcWN6MVZZVXVnT1UyL3FkUVlWMlZaSFFuSFZnWHZCL2JzWW5nPQ==/attach/object/3IZDXPJAABAEK?" * MERGEFORMATINET
修改方法:
1.使能PBP
INCLUDEPICTURE \d "http://www.kdocs.cn/api/v3/office/copy/WXBQS21PTGdxRUIrMDhObXNGL2lKbzdtQitMWmg0VjJHbkJvMm5DajFEa0t6SFIrTFRBeG42OU1uRGROYnovNExFdjNTdUh2d3N1VVJ3WGxCNFpJc2FBWlQxT3plOTBlckt6eGFKUGtXNFFZUmhYV0k0UkxWZEdPeEhlbnVEcjNJS3lwWGZYc3ExWU44NjFUcFJXNUM1dkhsQ0RMNGVDdHZvbUtKbTdZbFVSMEsxM3JHM1MzbkZsL05yS2ZGajZrQWo3QmNNMk0rN2w5UDJGbzd6RytPUXh0UnA5VjNkK2tESkZkcitMcWN6MVZZVXVnT1UyL3FkUVlWMlZaSFFuSFZnWHZCL2JzWW5nPQ==/attach/object/WQZDXPJAAAAHQ?" * MERGEFORMATINET
2.设置采样率为16000
INCLUDEPICTURE \d "http://www.kdocs.cn/api/v3/office/copy/WXBQS21PTGdxRUIrMDhObXNGL2lKbzdtQitMWmg0VjJHbkJvMm5DajFEa0t6SFIrTFRBeG42OU1uRGROYnovNExFdjNTdUh2d3N1VVJ3WGxCNFpJc2FBWlQxT3plOTBlckt6eGFKUGtXNFFZUmhYV0k0UkxWZEdPeEhlbnVEcjNJS3lwWGZYc3ExWU44NjFUcFJXNUM1dkhsQ0RMNGVDdHZvbUtKbTdZbFVSMEsxM3JHM1MzbkZsL05yS2ZGajZrQWo3QmNNMk0rN2w5UDJGbzd6RytPUXh0UnA5VjNkK2tESkZkcitMcWN6MVZZVXVnT1UyL3FkUVlWMlZaSFFuSFZnWHZCL2JzWW5nPQ==/attach/object/KEZDXPJAACACK?" * MERGEFORMATINET
3.配对蓝牙名也要改的跟实验室的测试仪器的名字一样,一般是Broadcaster
INCLUDEPICTURE \d "http://www.kdocs.cn/api/v3/office/copy/WXBQS21PTGdxRUIrMDhObXNGL2lKbzdtQitMWmg0VjJHbkJvMm5DajFEa0t6SFIrTFRBeG42OU1uRGROYnovNExFdjNTdUh2d3N1VVJ3WGxCNFpJc2FBWlQxT3plOTBlckt6eGFKUGtXNFFZUmhYV0k0UkxWZEdPeEhlbnVEcjNJS3lwWGZYc3ExWU44NjFUcFJXNUM1dkhsQ0RMNGVDdHZvbUtKbTdZbFVSMEsxM3JHM1MzbkZsL05yS2ZGajZrQWo3QmNNMk0rN2w5UDJGbzd6RytPUXh0UnA5VjNkK2tESkZkcitMcWN6MVZZVXVnT1UyL3FkUVlWMlZaSFFuSFZnWHZCL2JzWW5nPQ==/attach/object/T4ZDXPJAADAHQ?" * MERGEFORMATINET