KDocs 研发资料库
  • 音频技术应用文档入口汇总
  • 杰理WINDOWS环境安装及其他事项
  • LINUX安装和编译
  • Linux环境编译SDK教程(ubuntu18.04)
  • 音频类补丁汇总表
  • 认证资料获取汇总(最新资料后台会更新)
  • 《Hi-Res申请指南v1.0》
  • FreeRTOS 开源协议版本
  • uCOS 开源协议版本信息
  • 各个模块关键资料汇总
  • 软件调试方法
  • Makefile编译
  • 提bug的规范
  • 常规设备使用指导
  • 对外特别发布开发注意点信息汇总
  • AD697X软件问题整理
  • AC700N软件问题整理
  • AC701X耳机软件问题整理
  • 951&961软件问题整理
  • AC104X软件问题整理
  • AC128N问题整理文档
  • 可视化工具调试问题整理
  • 耳机资料汇总
  • AC704N、 AC705N相关应用
  • AC695N&AC696N&AC608N音箱问题整理
  • JL701N音箱问题整理
  • AC692X软件问题整理
  • AC706N音箱问题整理
  • JL701N音箱问题整理(可视化工具SDK)
  • JL703N音箱问题整理
  • JL709N(JL689N)音箱问题整理
  • JL7094系列-入门到进阶开发指导
  • AC210N音箱问题整理
  • 无线麦系列版本支持指南
  • AW32N无线麦问题整理
  • lAD697X&JL701X 无线麦软件共性问题整理
  • AC706N无线麦问题整理
  • AW36N无线麦问题整理
  • AC710X无线麦问题整理
  • 唤醒源获取及唤醒IO设置
  • 电源
  • LVD
  • 长按复位配置方法
  • 低功耗应用
  • TIMER
  • UART
  • SPI
  • 内部FLASH空间添加用户自定义区域
  • IIC
  • GPIO
  • MCPWM
  • SD&U盘
  • 时钟&晶振
  • GPCNT
  • IO口crossbar映射功能
  • 文件系统使用总结
  • 复用应用
  • LINEIN_AUX相关应用
  • IIS音频接口应用
  • SPDIF模式相关(HDMI_ARC、光纤、同轴)
  • PDM LINK
  • 外设相关应用
  • 蓝牙相关
  • 杰理蓝牙距离调试文档
  • TWS耳机配对方式使用及生产把控指南
  • GFP谷歌快连及其认证流程指引
  • 蓝牙发射器(bt_emitter)相关
  • BLE应用
  • 关于提升BLE传输速率说明
  • BLE测试数据
  • MUSIC 模式相关应用
  • MIDI音乐实现
  • PC相关应用
  • FM相关应用
  • AC695N_AC696N FM天线ESD静电防护措施说明V2.0_20250107
  • fm应用详细设计说明书
  • 杰理FM硬件指南-20230315
  • ADC模块
  • AUDIO相关应用
  • 新Tools的音效调试使用
  • 混响应用使用说明
  • 音效调式
  • 音箱耳机低音小音量增强实现方法
  • DAC输出功率调试
  • DAC性能测试指南
  • 针对各类底噪、电流声分析流程
  • 录音相关应用
  • OPUS编解码相关
  • RTC相关应用
  • 升级相关
  • UI相关应用
  • 通话调试流程指南
  • 通话相关应用
  • 省电容mic使用手册
  • 如何测试验证手表通话系统的语音失真 V1.0
  • AC695X_AC696X_AD697X 常见通话问题处理参考资料
  • 通话调试问题确定步骤
  • 内置触摸调试指南
  • 低功耗内置触摸介绍V2.2
  • 触摸相关文档
  • AC697X、AC698X内置触摸调试及整改方法V1.0
  • 产测相关应用
  • AC63X BLE DUT测试介绍
  • 兆华序列使用简易说明
  • JL_1T2蓝牙测试盒音频文件更换说明
  • ENC相关应用入口汇总
  • ANC相关应用入口汇总
  • JL DMS通话调试手册-V3.9.4
  • ANC-ENC结构设计要点-20240407
  • 半入耳式ANC耳机器件选型与结构设计指南V1.0
  • JL 耳道自适应调试指南
  • ANC相关问题处理
  • ANC调试文档
  • 评估蓝牙耳机通话上行降噪性能的方法 V1.0 (2)
  • FCC 或者 BQB 认证相关应用
  • BQB profile 测试中常遇到的问题点汇总
  • 蓝牙参数整理20210811
  • 杰理科技认证问题参考
  • 无线音频产品开发指南
  • 无线麦系列从入门到进阶开发指导
  • 量产烧录相关说明
  • 一拖八烧录器远程过程调用说明
  • 量产相关建议
  • EffectTool(eq)调试工具说明文档
  • AC897AD697系列的EQ调试方法-V3
  • 杰理调音指南-20220622
  • 音效模块总结
  • 简要调音步骤指引(可视化)
  • 耳机充电与通信调试指南
  • 充电仓硬件调试指南
  • 充电仓软件问题整理
  • AC951常用说明
  • AC951_AC961_开发板使用说明V1.0
  • 彩屏仓AC982 入门指导及FAQ
  • 蓝牙音频APP相关应用
  • 手机APP的简介和开发流程
  • 蓝牙音频系列-硬件设计指南
  • 静电测试及整改方法-20220706
  • TWS耳机底噪整改指南V1.2
  • 杰理蓝牙距离调试文档
  • 蓝牙RF硬件设计与调试V1.1-20250219
  • AC695N_AC696N FM天线ESD静电防护措施说明V2.0_20241228
  • 音效调试指南
  • 无线话筒K歌音箱标准开发流程
  • 杰理科技 700N TWS耳机产品标准-202303
  • 杰理科技 701N 广播产品标准-202303
  • JL-HAT ANC高效产测自适应
  • 无线话筒测试板使用介绍
  • 一拖八频偏校准使用说明
  • 领夹麦产测工具使用介绍
  • Dongle量产测试说明
  • Dongle+Tws或头戴式 SDK通过工具绑定配对功能说明文档
  • 双麦ENC产测宏配置验证方法 V1.0
  • JL耳机方案麦克风声学测试指令_V1.0
  • JL耳机方案麦克风声学测试指令_V2.0
  • JL_ENC自动测试命令_V0.0.1
  • JL蓝牙测试盒用例说明
  • LDAC自测环境搭建_ubuntu
  • 延迟小板使用手册
  • 杰理库文件的制作及添加实现过程
  • 关于 AC635N&AC636N系列免晶振兼容性补丁 说明
  • 关于 AC63系列VM兼容性修复补丁_20250224 说明
  • 关于 AC632N &AE632N_ 蓝牙& 低功耗兼容性修复补丁 说明
  • AD698N和AC638N电压优化补丁V3说明
  • 关于 AC635N&AC636N漏电和E&G版兼容联合补丁 说明
  • AD698N和AC638N电压优化补丁V2说明
  • 702相关应用
  • 2024-4-30 发布歌词显示SDK开发注意事项
  • BQB RF & FCC 认证测试固件问题汇总及源码
  • BQB profile 测试中常遇到的问题点汇总
  • 进dut测试模式方法及固件
  • 704-频偏修改bin文件合集
  • 701手表BQB PROFILE认证注意事项
  • 认证的干扰规避整改
  • 海外CRA认证报告生成说明
  • JL700N可视化工具问题处理文档
  • JL701X可视化工具问题处理文档
  • JL701N_earphone_release_v1.6.0_ANC 低功耗问题补丁
  • JL708X可视化工具问题处理文档
  • JL709N可视化工具问题处理文档
  • JLstudio可视化工具使用说明
  • 一拖二-串口_蓝牙_app在线EQ、通话参数及调试方式和内置触摸调试
  • 可视化JL701M_DONGLE_SDK添加MIC为发射源
  • 可视化JL701M_DONGLE_SDK添加按键切换usb audio与MIC发射源
  • JL701M_DONGLE_SDK_1.0.0_dongle输入linein输出dac
  • 701可视化_a2dp_to_le_demo说明
  • 耳机系列demo汇总
  • JL7018F&JL7006F_7003F AUX IIS
  • 一键连接应用
  • 普通SDK动态开关一拖二功能
  • 蓝牙分析仪(EllisysBluetoothAnalyzer)抓包例程
  • TWS配对常见应用
  • APP自定义按键的demo
  • AC700N 播歌双EQ DEMO示例及说明
  • AC698V164 MIC与蓝牙音乐共同输出DAC demo
  • 添加第三方算法以及多算法授权流程
  • 空间音频配置方法
  • 普通高低电平TWS耳机控制通讯
  • 入耳检测状态更新demo解析
  • 资源优化(非可视化的SDK)
  • 资源优化(可视化SDK)
  • 翻译耳机、语音识别应用demo
  • 耳机抗干扰问题排查和优化
  • AC698D2 抗干扰优化
  • AC696X软件问题整理
  • AC695X软件问题整理
  • AC695X软件问题整理_1722249702
  • AC608X软件问题整理
  • JL701N_2T1_DUPLEX 应用软件问题汇总
  • le_audio_1.0.0_patch05 以及之前的版本IRkey 功能异常修改
  • AC706N-le_audio-200SDK有线_无线麦录音demo
  • jl701n_le_audio_v200patch02 IO串口升级修改串口单次发送字节长度的修改办法
  • 703创建IIS 输入dac输出音频流demo
  • 703将媒体流音频同时上传PC_mic录音demo实现
  • 703四路IIS输入输出demo
  • 底噪调试
  • AW328A烧录说明
  • 文档合集
  • AC706N_wireless_mic_release_PATCH_20240712 补丁 说明
  • AC706N_wireless_mic_release_PATCH_20240726 补丁 说明
  • AC706N_wireless_mic_release_V1.0.0、1.0.1、1.0.2 补丁 说明
  • AC706N_wireless_mic_release_V1.1.2 中的2T1应用 RX端不绑定配对,TX端实现绑定配对的修改方法
  • 各系列省晶振实现方法
  • iis tx rx说明文档
  • spdif信号
  • 蓝牙电话本
  • 安卓手机同步时间补丁
  • CDC配置
  • PC模式下增加Teams唤起功能
  • 杰理HDMIARC开发实现过程
  • AC701N patch06之前的版本用第三方算法节点实现新版本的pcm delay节点功能
  • (K歌音箱)各SDK音效配置相关说明
  • 长文件录音
  • 点阵屏歌词字库相关(蓝牙歌词,普通歌词)
  • 字模提取工具说明
  • 音箱可视化彩屏-入门到进阶开发指导
  • 彩屏LVGL UI设计及工具使用
  • 使用内部UI框架进行UI调试的系列步骤
  • AD101C使用强制升级工具spi 烧录不了问题处理(测试版本)
  • AD161扩展灯板说明文档
  • 歌词显示器开发注意项
  • 使用硬件数字增益控制通话下行音量(可视化)
  • 杰理小牛产测资料
  • ENC配置说明
  • 通话调试流程指引
  • ANC相关功能demo
  • 无线麦硬件资料汇总
  • 无线麦相关应用
  • 无线麦复杂功能补丁包汇总
  • 无线话筒形态SDK程序&开发经验&问题点分享
  • 双模式结合应用问题汇总
  • 无线麦距离优化案例
  • 无线麦系列中的双工形态(duplex)演变开发对讲机方案开发资料
  • 音箱入门到进阶指导文档(编写中)
  • 蓝牙耳机品控和生产技巧
  • 982过_欠压标志获取异常
  • 如何获取最新涂鸦SDK及库文件
  • 无线话筒K歌音响-调音标准流程
  • 无线话筒产测流程

BQB profile 测试中常遇到的问题点汇总

📎 原始文档:https://www.kdocs.cn/l/cpPW02GkUTYR BQB profile 测试中常遇到的问题点汇总

版本号修订日期修订说明
V1.02022-06-22前蓝牙做从机BQB profile 认证说明
V1.12022-06-22新增AC695X 蓝牙做主机BQB profile说明
V1.22025-06-07新增可视化JL701N Auracast profile说明

蓝牙从机

一、过 BQB profile首先要做以下修改:

  1. BQB profile 认证 蓝牙的一个很重要的特性,即是所有的蓝牙产品都无需实现全部的蓝牙规范。
    不同的蓝牙产品,都将根据其产品定位及需求去实现相应的蓝牙规范。在过profile认证前,蓝牙方案商会告知认证公司,其产品支持哪些协议。认证公司以此为根据去对相应的协议进行测试。
    因此过profile认证需要根据产品需要支持哪些协议,在软件中相应开启后去实验室测试,否则如果实验室扫出来所支持的协议与实际需要测试的协议不一致则会要求退回整改。
    image 过认证前建议先与实验室了解清楚需要测试哪些项目,如果需要支持A2DP、HFP、AVRCP协议的,(部分测试项需要测试包含电话接听挂断、音量加减、上下曲、语音助手等功能)则需要告知实验室测试时如何操作。
    还有部分测试项需要加按键发命令才能测过,已经罗列在“二、经常遇到的一些问题及处理建议”中,建议过认证前先看看需不需要测试相应的测试项,如果需要则加好相应按键功能后再去测试,避免反复整改。
  2. 如果是TWS对耳或对箱产品 调用如下接口:(每个系列都必须在蓝牙初始化后添加!!!!!!!!)
lmp_hci_set_role_switch_supported(0);

image 最好的话,将TWS功能关掉,用单耳/单箱测试:

#define TCFG_USER_TWS_ENABLE         0   //tws功能使能
#define TCFG_BD_NUM                  1        //连接设备个数配置
  1. 如果需要支持测2022 A2DP/SNK/AVP/...新增测试项的 需开启AAC格式支持,同时替换第9点的库文件
    image
  2. 2024更新测试标准后 2024更新测试标准后,部分测试项会出现开始测试后样机会与pts连接断开,此时需要按键发送一下命令,根据地址进行回连以继续测试:
    user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);
  3. 可视化版本 可视化版本sdk需要发命令的,则将发命令接口从user_send_cmd_prepare换成bt_cmd_prepare
  4. 702系列 702系列比较特殊,请直接换下面链接sdk去过认证
    (注:这两版sdk需4Mflash芯片才够空间升级)
    【金山文档 | WPS云文档】 C版芯片_AC702N_profile_BQB_20240222
    https://kdocs.cn/l/cjjFTto1lEnf
    【金山文档 | WPS云文档】 B版芯片_AC702N_profile_BQB_20250430
    https://kdocs.cn/l/clCY2BJ9H4FF
  5. 705系列 705系列比较特殊,请直接换下面链接tools包去过认证。
    AC705N_profile测试_20260128_无打印_pa6ADKEY.zip
    具体按键操作可参考该文档。
    Profile Fail(看看蓝色字).pdf
  6. 常用profile命令按键如下,可参考 BQB Profile常用命令按键.otl
  7. 过认证建议直接使用如下demo去测试 过profile测试优先使用如下demo去过认证,若想保留源代码,则需替换下列对应版本库后再去实验室测试,正常做货时再换回原来的库即可。(更换库去测试,除了更换btstack.a/btctrler.a两个库,还需按文档做其他相应修改操作,如关闭主从切换,增加对应按键命令等)
AC692N库文件AC692x_SDK_release_V2.6.3_profile测试用库_20260403.rar
demoAC692x_SDK_release_V2.6.3_profile_20260403.rar
AC695N库文件AC695N_soundbox_sdk_release_3.1.0_profile测试用库_20251213.rar
demoAC695N_soundbox_sdk_release_3.1.0_profile_20260123.rar
AC696N库文件ac696n_soundbox_sdk_v1.7.0_profile测试用库_20251213.rar
demoac696n_soundbox_sdk_v1.7.0_profile测试用库_20260527.rar
AC697N库文件AC897N_AD697N_earphone_release_V2.4.0_profile测试用库_20260605.rar
demoAC897N_AD697N_earphone_release_V2.4.0_profile_20260605.rar
AC698N库文件ad698n_earphone_release_v1.8.1_profile测试用库_20251213.rar
demoad698n_earphone_release_v1.8.1_profile_20251213.rar
2Mad698n_earphone_release_v1.2.5_profile_2M_20260417.rar
AC700N库文件700N_TWS_3.0.0_P02.02_profile测试用库_20251212.rar
demo700N_TWS_3.0.0_P02.02_profile_20251212.rar
AC701N
(耳机)
库文件701_TWS_3.3.0_profile测试换库_20260114.rar
demo701_TWS_3.3.0_profile_20260114.rar
AC701N
(音箱)
库文件701_le_audio_2.0.0_P02_profile测试换库_20251212.rar
demo701_le_audio_2.0.0_P02_profile_20260610.rar
AC702N
(4M)
B版芯片B版芯片_AC702N_profile_BQB_20250710.rar
C版芯片C版芯片_AC702N_profile_BQB_20250813.rar
AC703N库文件703_le_audio_2.0.0_P01.03_profile测试换库_20250804.rar
demo703_le_audio_2.0.0_P01.03_profile_20250804.rar
AC705NdemoAC705N_profile测试_20260128_无打印_pa6ADKEY.zip
Profile Fail(看看蓝色字).pdf
AC706N库文件706N_soundbox_100_P02_profile测试换库_20250512.zip
demo706N_soundbox_100_P02_BQB_profile_20250512.rar
AC708N库文件708N_TWS_3.0.0_P02_profile测试换库_20250611.rar
demo708N_TWS_3.0.0_P02_profile_20250611.rar
AC709N
音箱
库文件
demo709_leaudio_1.0.0_P00.09_bqb_profile_20260729.rar
AC709N
耳机
库文件
demo709_TWS耳机_3.4.6_profile_20260722.rar
AC710N库文件710_TWS_300_P02_profile测试换库_20250520.zip
demo710_TWS_300_P02_profile_20250520.rar
AC112N库文件
E版芯片AC112N_3.0.0_beta4_bqb_profile_20260416.rar

二、经常遇到的一些问题及处理建议:

  1. A2DP

  2. A2DP/SNK/AS/BV-02-C 处理建议:
    确认产品是否支持AAC音频格式,若支持,有如下fail,可以检查一下程序是否开启AAC功能,用手机先测试一下能否支持AAC解码;若不支持,则该项case不用测试。

  3. 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);

  4. 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点过认证前需替换的库

  5. A2DP/SNK/SET/BV-05-C To verify that SRC can start audio streaming iteratively.
    处理方案:按下图修改红框内对应内容,测试时当pts提示样机移出范围外时,将样机关机重启,有时候测试并不能一次就过,需要多测几次。
    image

  6. 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);

  7. A2DP/SNK/SET/BV-05-C 处理建议:按需求进行3次关机重启回连。

  8. A2DP/SNK/CC/BV-08-C、A2DP/SNK/CC/BV-07-C 这两项要把bitpool设置成53, __set_sbc_cap_bitpool(53);
    image

  9. 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);进行回连就可以测过。

  10. HFP

  11. 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()) {​
    image 测试流程:此项开始测试后会有一个电话拨打过来,等弹出第一个窗口点ok,按键控制接听电话。等弹出两个窗口均点ok后,将样机放入屏蔽箱超距断连,等待30秒后会弹出一个窗口,点ok后将样机拿出屏蔽箱。会再弹出一个窗口,点击ok,然后等pts软件回连样机,回连成功后即可通过测试。

  12. 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后,关机后会弹出一个窗口,点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即可通过测试。

  13. HFP/HF/SLC/BV-04-C image 处理建议:出现这种报错,有两种处理方法,一是让实验室将报错提及的测试项勾选测试(测试项目会变多),二是按以下配置关闭相关配置项,若没有对应配置修改,则建议让实验室勾选测试,或者联系我们处理。

- TSPC HFP 3 14 and BRSF value don't match.Echo Canceling (EC) and Noise Reduction (NR) (O)  
这个可以勾选

- TSPC_HFP_3_12(0) and BRSF(1) value don't match.three way calling
不需要的话这个配置0.   
u8 hfp_feature_support_three_way  = 0 ;

- TSPC_HFP_3_15 and BRSF value don't match.Voicerecognition activation/deactivation(O)
不需要的话可以配置0
u8 hfp_feature_support_voice_recognition  = 0 ;

-TSPC_HFP_3_18b and BRSF value don't match.Remote audio volume control-microphone(O)
这个勾上

- TSPC_HFP_3_3c and BRSF value don't match.Codec Negotiation(C.5)
不需要的话这个可以配置0 
u8 hfp_feature_support_codec_negotiation  = 1 ;//建议开启,会影响其他常用测试项
  1. 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就能过。
    注:如果还是不行,关闭TWS和自动主从切换(参考 一、2),并定义下面变量为1。
const int CONFIG_LMP_MASTER_ESCO_ENABLE  =  1;
  1. 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 去接听电话
  2. 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);
  3. 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
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。
8. 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_send_cmd_prepare(USER_CTRL_SCO_LINK, 0, NULL)
9. 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);
10. 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,第二个弹窗点NO,后面按要求断开和回连,断连直接关机,回连则开机。
11. HFP/HF/TCA/BV-04-C 先测试HFP/HF/TCA/BV-03-C项,记录一个电话号码,再测试BV-04-C项,开始测试后,单击OK,然后发回拨按键KEY_CALL_LAST_NO,再发KEY_MUSIC_PP键挂断电话,即可PASS。
12. HFP/HF/ICR/BV-01-C 开始测试后,按照弹窗提示,发拒接电话命令user_send_cmd_prepare(USER_CTRL_HFP_CALL_HANGUP, 0, NULL),即可PASS。
13. HFP/HF/ACC/BV-03-C 先测试其他项保留回连地址,开始测试后,单击OK,然后关机重启回连,建立连接后,后续弹窗按OK,即可PASS。
14. HFP/HF/ACC/BV-09-C 开始测试后,单击OK,然后发SCO连接命令
user_send_cmd_prepare(USER_CTRL_SCO_LINK, 0, NULL),然后点击OK,即可PASS。
15. HFP/HF/ACS/BV-12-C 开始测试后,先发SCO连接命令建立连接,user_send_cmd_prepare(USER_CTRL_SCO_LINK, 0, NULL),然后按PP键接听电话,再点击OK,即可PASS。
16. HFP/HF/ICA/BV-02-C 开始测试后,按指令发接听电话和挂断电话user_send_cmd_prepare(USER_CTRL_HFP_CALL_HANGUP, 0, NULL)的命令即可,其他弹窗点击OK,即可PASS。

  1. AVRCP AVRCP TG端关掉方法:关掉音量同步功能
  2. 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,没有以上描述的库,则按以下两点修改:(大部分版本按此修改)
  3. 关掉TWS功能: image
  4. 关掉主从切换:(必要操作) image
  5. AVRCP/CT/PTH/BV-01-C、AVRCP/CT/PTT/BV-01-C 要有一个按键能根据pts提示窗触发播放暂停,上下曲等命令;
//PLAY和PAUSE发
bt_cmd_prepare(USER_CTRL_AVCTP_OPID_PLAY, 0, NULL);
//STOP发
bt_cmd_prepare(USER_CTRL_AVCTP_OPID_STOP, 0, NULL);
//FORWARD发
bt_cmd_prepare(USER_CTRL_AVCTP_OPID_NEXT, 0, NULL);
//BACKWARD发
bt_cmd_prepare(USER_CTRL_AVCTP_OPID_PREV, 0, NULL);
  1. 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);进行回连就可以测过。
    第二种测试方法:
    开始测试后pts第一个弹窗出来点ok,第二个弹窗出来点no,随后等待样机回连即可测过。
  2. AVRCP/CT/PTT/BV-01-C 要找个文件定义
    u8 avctp_browsing_support_for_bqb = 1;
  3. AVRCP/TG/VLH-BI-01-C、AVRCP/TG/VLH/BI-04-C 如果需要支持AVRCP TG角色,则开启音量同步,否则关闭;
    处理建议:请告知测试公司如何调节音量的大小。(自己样机按键是如何调音量大小的)
    解决方案:开启音量同步,用按键将小机音量调节同步到远端。要有一个按键KEY_VOL_UP和KEY_VOL_DOWN去根据pts提示框调节音量大小
    如果没有效果,可以尝试把HID协议关掉测试:
    image
  4. AVRCP/TG/PTT/BV-02-C 要找个文件定义
    u8 avctp_browsing_support_for_bqb = 1;
  5. 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);
  6. 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);进行回连。
  7. HOGP
  8. HOGP/HD/HGDS/BV-01-I image 解决方案:直接跑hid case的工程就可以过了
  9. RFCOMM
  10. 测试rfcomm,提醒实验室先在PTS软件上修改下图iut以及uuid16位置的信息值 imageimage ②开始测rfcomm测试项时,当pts弹窗提示连接时,需先发下面这条命令连接RFCOMM
    user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);
    ③可以先测DEVB部分,有了地址之后,再按键测试DEVA部分。测试DEVA项目是耳机去回连
  11. 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);
  12. 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);
  13. RFCOMM/DEVA-DEVB/RFC/BV-21-C RFCOMM/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);
  14. RFCOMM/DEVA/RFC/BV-01-C、RFCOMM/DEVA/RFC/BV-05-C、RFCOMM/DEVB/RFC/BV-02-C、RFCOMM/DEVA-DEVB/RFC/BV-03-C、 RFCOMM/DEVA-DEVB/RFC/BV-08-C、RFCOMM/DEVA-DEVB/RFC/BV-11-C、RFCOMM/DEVA-DEVB/RFC/BV-13-C、RFCOMM/DEVA-DEVB/RFC/BV-15-C、RFCOMM/DEVA-DEVB/RFC/BV-17-C、RFCOMM/DEVA-DEVB/RFC/BV-19-C、RFCOMM/DEVA-DEVB/RFC/BV-22-C、RFCOMM/DEVA-DEVB/RFC/BV-25-C 若已连接rfcomm,则等待样机回连后开始测试即可直接测过
    若未连接,则发下面这条命令连接RFCOMM即可测过
    user_send_cmd_prepare(USER_CTRL_START_CONNEC_VIA_ADDR_MANUALLY, 0, NULL);
    692系列:软件修改如下后,开始测试后可直接pass
    imageimage
  15. MESH
  16. MESH/NODE/BCN/SNB/BV-01-C image 解决方案:修改软件如下
    imageimageimage
  17. IOPT
  18. IOPT/CL/A2DP-SRC/SFC/BV-04-I 测试流程:pts开始测试后第一个弹窗出来点击ok,等第二个弹窗出来点NO,然后样机断电重启即可测过
  19. IOPT/CL/AVRCP-CT/SFC/BV-03-I 测试流程:pts开始测试后第一个弹窗出来点击ok,等第二个弹窗出来点NO,然后样机断电重启即可测过
  20. AVDTP
  21. AVDTP/SRC/INT/SIG/SMG/BV-19-C 测试时根据pts弹窗发送命令:
    user_emitter_cmd_prepare(USER_CTRL_A2DP_CMD_CLOSE,0,NULL);
  22. AVDTP/SRC/INT/SIG/SMG/BV-23-C 测试时根据pts弹窗发送命令:
    user_emitter_cmd_prepare(USER_CTRL_A2DP_CMD_ABORT,0,NULL);
  23. 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
    image 测试时根据pts弹窗发送命令:
    user_emitter_cmd_prepare(USER_CTRL_A2DP_CMD_ALL_CAP,0,NULL);
  24. HID 2024更新测试标准后,HID测试项目需修改如下
    image
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,
};
  1. GAVDP
  2. GAVDP/ACP/APP/CON/BV-01-C 直接给测试结果,如下:
    【金山文档 | WPS云文档】 GAVDP测试结果
    https://www.kdocs.cn/l/ckInMKNTJDws
  3. MAP(需使用PTS 8.11.1版本测试,以及勾选下面截图的选项) image
  4. 大部分测试项 先重启或者按键回连 pts 设备,后发送 USER_CTRL_MAP_SET_NOTIFICATION 命令。
  5. MAP/MCE/MSM/BV-03-C 先重启或者按键回连 pts 设备,后发送 USER_CTRL_MAP_SET_NOTIFICATION 命令,再按需求发APP_MSG_CALL_MAP_STOP_NOTIFCATION和APP_MSG_CALL_MAP_STOP_READING。
  6. MAP/MCE/MSM/BV-04-C 先重启或者按键回连 pts 设备,后发送 USER_CTRL_MAP_SET_NOTIFICATION 命令,再按需求发APP_MSG_CALL_MAP_STOP_READING。
  7. PBAP(需使用PTS 8.11.1版本测试)
  8. 大部分测试项 先重启或者按键回连 pts 设备,后发送 USER_CTRL_PBAP_READ_ALL 命令。
  9. PBAP/PCE/PBF/BV-02-C 先重启或者按键回连 pts 设备,后发送 USER_CTRL_PBAP_READ_ENTRIES 命令。

三、版本问题

  1. BQB profile版本 (1)AC690X
    【金山文档 | WPS云文档】 ac69_sdk_v2012_p3&ac69_sdk_v2012_p4蓝牙bqb版本修改最新替换库20240520
    https://kdocs.cn/l/cuWuZGpmr7bA
    (2)AC692X
    【金山文档】 AC692X profile 认证HFP、A2DP等协议版本更新
    https://kdocs.cn/l/cnY0IZBAjvUm
    (3)AC695XAC696X/AC697X/AC700X/AC701X
  2. A2DP 、GAVDP/AVDTP的版本问题 提示 A2DP 、GAVDP/AVDTP的版本号不正确,需要改版本号的,可以参考以下改法(以下例子是将版本号修改为V1.4):
    重新定义以下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, 0x04/A2DP version/, 0x09, 0x03, 0x11, 0x09, 0x00,
    0x01, 0x09, 0x01, 0x00, 0x25, 0x07, 0x4A, 0x4C, 0x5F, 0x41, 0x32, 0x44, 0x50, 0x00, 0x00
    ​};
    红色这里改为 0x01,0x04 。 就是 V1.4版本
    在程序文件 bt_profile_config.c 中替换SDK原先使用的数组:
    image 注意:若有实验室要求把A2DP 版本改成1.3.2 。那么请按以上描述,改成1.3 。然后跟实验室称支持1.3.2 即可。
  3. HFP 的版本问题 提示 HFP 的版本号不正确,需要改版本号的,可以参考以下改法(以下例子是将版本号修改为V1.9):
    重新定义以下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, 0x09/hfp version/, 0x09, 0x03, 0x11, 0x09, 0x00, 0x3F,
    0x09, 0x01, 0x00, 0x25, 0x06, 0x4A, 0x4C, 0x5F, 0x48, 0x46, 0x50, 0x00, 0x00,
    ​};
    备注:0x01, 0x09/hfp version/ 这里就是HFP版本为1.9
    在程序文件 bt_profile_config.c 中替换SDK原先使用的数组:
    image
  4. AVCTP和AVRCP 的版本问题 提示 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, 0x06/AVRCP VERSION/, 0x09, 0x03,0x11, 0x09, 0x00, 0x01, 0x00, 0x00,
    ​};
    备注:0x01, 0x04/AVCTP VERSION/这里就是AVCTP版本为1.4
    若有音量同步功能还需要重定义以下数组(没有音量同步功能则不需要修改):
    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, 0x04/AVCTP VERSION/这里就是AVCTP版本为1.4
    0x01, 0x06/AVRCP VERSION/这里就是AVRCP版本为1.6
    在程序文件 bt_profile_config.c 中替换SDK原先使用的数组:
    image
  5. 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,
    ​};
    image
  6. 蓝牙版本
  7. 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 函数如下:
    image 【金山文档】 bluetooth_lib-690-emitter_v107-BQB-修改5.3
    https://kdocs.cn/l/cnEkA0rXnc45
    【金山文档】 bluetooth_lib-690-v2012v4-BQB-修改5.3
    https://kdocs.cn/l/cqWEp330X0sl
  8. AC692X 在上层 APP 程序加入如下修改,把蓝牙版本修改为 5.0 版本。
    extern u8 *get_device_version(void);
    u8 *lmp_pal_version = get_device_version();
    *lmp_pal_version = 0x09;
    image 【金山文档】 bluetooth_lib-br21-v2.6.3-BQB-修改5.3
    https://kdocs.cn/l/ck7wl55B6q0S
  9. AC695X/AC696X/AC697X/AC700X 蓝牙版本号修改 蓝牙版本修改(蓝牙5.3就设置0x0c,蓝牙5.4就设置0x0d):
    image
  10. AC702X 蓝牙版本号修改 蓝牙版本修改(蓝牙5.3就设置0x0c,蓝牙5.4就设置0x0d):
    image 修改蓝牙版本号,改成5.3的话就是传0x0C 的值:
    image
  11. 蓝牙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 版本号

image

蓝牙主机

一、AC695X&AC696X蓝牙发射器过BQB profile前需要做以下修改:

  1. 过认证前需替换的库(有测A2DP新增测试项必须换) 如果有使用到下列sdk测BQB profile认证,需替换对应库后再去实验室测试,正常做货时再换回原来的库即可。(提供的库有认证的流程修改,不用于正常程序)
    如果没有使用到下列sdk,请联系我们获取对应版本sdk替换库文件后,再去实验室测试。
    【金山文档】 695v200过profile需要换的库20230106
    https://kdocs.cn/l/cbZayCpiuHw7
    【金山文档】 AC695X SDK301蓝牙发射器过BQB profile需要替换的库
    https://kdocs.cn/l/ctvyGGUvTl3G
    【金山文档】 695v304过profile需要换的库20230414
    https://kdocs.cn/l/ct3GlsaqFLm4
    【金山文档】 695v310过profile需要换的库20230110
    https://kdocs.cn/l/ce2YGDNR4LoY
    【金山文档】 696v140过profile需要换的库20230106
    https://kdocs.cn/l/cg5xyUlas5XZ
    【金山文档】 696v150过profile需要换的库20230414
    https://kdocs.cn/l/ca0NRVB4WYFi
    【金山文档】 696v170过profile需要换的库20230207
    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角色个数
  1. 库的这个函数定义变了extern void __emitter_send_media_toggle(u8 *addr,u8 toggle); 统一改成__emitter_send_media_toggle(NULL,1);
  2. 在void bt_function_select_init函数里面加上: change_hci_class_type(0x28041C);
  3. 在void emitter_or_receiver_switch(u8 flag)函数里面,原来上电搜索的改成等测试设备连接 image

二、经常遇到的一些问题及处理建议:

  1. A2DP/SRC/REL/BV-01-I提示这个的话: image 需要打开可发现可连接:
    user_send_cmd_prepare(USER_CTRL_WRITE_SCAN_ENABLE, 0, NULL);
    user_send_cmd_prepare(USER_CTRL_WRITE_CONN_ENABLE, 0, NULL);
    可以在样机开机切进蓝牙发射模式时调用或按键发消息处理:
    切发射模式时调用例子:
    image
  2. 提示以下错误: image 做一个需要发一下命令:
    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原先使用的数组:
    image 注意:数组修改的地方,和数组内容跟蓝牙从机上面AD2DP数组和修改位置是不一样的哦。要仔细检查好!

三、demo程序:

  1. 【金山文档】 AC695X_SDK v300发射器BQB认证参考程序 https://kdocs.cn/l/cgi1BCadD74O
    注意:若样机程序添加了一些自动回连等相关操作的。请先关掉再测试。因为这些自行添加的功能有时会影响认证测试。若按上述文档处理完后,还测试不通过,建议用公版SDK,稍微改些按键测试确认。

LE_AUDIO Profile(Auracast)

一、发射端

  1. PBP
  2. PBP/PBS/STR/BV-01-C、PBP/PBS/STR/BV-05-C image 修改方法:
    1.使能PBP
    image 2.设置采样率为16000
    image 3.配对蓝牙名也要改的跟实验室的测试仪器的名字一样,一般是Broadcaster
    image

本文档包含以下子页面

  • Profile Fail(看看蓝色字)
  • BQB Profile常用命令按键
Prev
BQB RF & FCC 认证测试固件问题汇总及源码
Next
进dut测试模式方法及固件