RK3308-解决无蓝牙设备的问题

62次阅读

共计 762 个字符,预计需要花费 2 分钟才能阅读完成。

未完,待续 ….

一、问题描述

我们项目在开发智能音箱的过程中分别采购了 ROC-RK3308-CC 和 Amlogic 420 开发板,这两块开发板默认情况下执行 hciconfig 均无法枚举出开发板中的蓝牙设备信息。

  • ROC-RK3308-CC 使用正基生产的 AP6236 芯片,该芯片集成了蓝牙和 WIFI 功能
  • Amlogic 420 使用正基生产的 AP6356S 芯片,该芯片集成了蓝牙和 WIFI 功能

二、解决流程

  1. 确认蓝牙设备是否被禁用
  2. 确保蓝牙设备已打开
  3. 查询串口名称及波特率
  4. 查找蓝牙固件
  5. 加载蓝牙固件
  6. 验证蓝牙状态

三、工具介绍

  1. rfkill
  2. stty
  3. hciconfig
  4. brcm_patchram_plus

四、解决 ROC-RK3308-CC 开发板

五、解决 Amlogic 420 开发板

  • 确认蓝牙设备是否被禁用

    • busybox 中勾选 ‘rfkill’ 组件并重新编译烧制镜像
    • 确认蓝牙设备是否已处于 ‘blocked’ 状态

      # 查看无线设备数量
      # ls /sys/class/rfkill
      rfkill0  rfkill1  rfkill2
      
      # 查看无线设备状态
      /sys/class/rfkill # rfkill list
      0: bt-dev: Bluetooth
          Soft blocked: no
          Hard blocked: no
      1: phy0: Wireless LAN
          Soft blocked: no
          Hard blocked: no
      2: brcmfmac-wifi: Wireless LAN
          Soft blocked: no
          Hard blocked: no
  • 确保蓝牙设备已打开

    • 如果蓝牙设备 Soft blocked: yes 执行下列操作
    • 蓝牙设备上电

      # 执行后再次执行 rfkill list 查看是否 Soft blocked: no
      echo 1 > /sys/class/rfkill/rfkill0/state
  • 查询串口名称及波特率
  • 查找蓝牙固件
  • 加载蓝牙固件
  • 验证蓝牙状态

正文完
 0