一、案例背景

在设备适配定制蓝牙遥控器的测试阶段,出现遥控器无法正常连接、配对失败的故障,无法建立连接。

通过抓取蓝牙配对日志、应用层调用接口日志分析,定位关键异常:应用层调用蓝牙设备匹配接口时,获取定制蓝牙遥控器设备名称失败,系统无法识别遥控器设备身份,配对校验流程中断,最终引发连接失败。

二、根因分析:设备白名单参数缺失

故障根源为系统底层蓝牙控制器参数未配置定制遥控器设备白名单,导致设备身份识别失败

  • 参数配置缺失:系统蓝牙服务识别外设时,会读取本地产品参数文件中的蓝牙控制器白名单,校验设备名称是否合规;本次故障对应的产品参数文件product_gk6320.para中,未添加定制遥控器的设备名称字段,蓝牙模块无法匹配到合法设备。

  • 校验流程阻断:应用层调用蓝牙设备匹配接口后,因无对应设备名称参数,校验不通过,直接拒绝配对请求,表现为无法连接或识别遥控器。

  • 文件路径定位:缺失参数的配置文件路径为/vendor/goke/gk6320/etc/param/product_gk6320.para,属于产品级定制参数,未适配更新。

属于外设适配阶段的参数漏配问题,系统蓝牙模块缺少定制遥控器的设备识别规则,并非代码逻辑缺陷,补充对应白名单参数即可打通配对链路。

三、解决方案设计

3.1 核心思路

在产品专属参数配置文件中,补充蓝牙控制器设备白名单参数,将定制蓝牙遥控器的设备名称加入系统识别列表,让蓝牙服务能够正常匹配、校验设备身份,完成配对连接流程。

3.2 方案核心要点

  1. 定位参数文件:找到对应平台的产品参数配置文件,本次为GK6320平台的product_gk6320.para文件,路径位于vendor定制目录下。

  2. 新增白名单参数:添加蓝牙控制器设备名称参数const.product.btcontroller,赋值为定制遥控器的设备名称数组,覆盖所有适配的遥控器型号。

  3. 参数格式规范:严格遵循产品参数文件语法,采用数组格式配置多设备名称,保证系统能够正常解析读取。

四、 修改步骤

进入项目vendor目录,找到对应平台的产品参数文件,编辑添加缺失的蓝牙设备白名单参数,具体配置如下:

# 配置文件路径 /vendor/goke/gk6320/etc/param/product_gk6320.para # 新增蓝牙控制器设备白名单参数 const.product.btcontroller=["Seneasy","3ModeRemote"]

五、修复效果验证

  • 查看系统参数解析日志,确认const.product.btcontroller参数正常加载,设备名称数组解析成功;

  • 应用层调用蓝牙设备匹配接口日志无报错,成功识别到“Seneasy”“3ModeRemote”设备名称。

六、案例总结与经验沉淀

本次蓝牙定制遥控器连接失败,属于典型的产品级外设适配参数漏配问题,核心是系统缺少外设设备白名单导致身份识别失败。通过在对应para参数文件补充蓝牙控制器设备名称。

Logo

社区规范:仅讨论OpenHarmony相关问题。

更多推荐