共计 762 个字符,预计需要花费 2 分钟才能阅读完成。
未完,待续 ….
一、问题描述
我们项目在开发智能音箱的过程中分别采购了 ROC-RK3308-CC 和 Amlogic 420 开发板,这两块开发板默认情况下执行 hciconfig 均无法枚举出开发板中的蓝牙设备信息。
- ROC-RK3308-CC 使用正基生产的 AP6236 芯片,该芯片集成了蓝牙和 WIFI 功能
- Amlogic 420 使用正基生产的 AP6356S 芯片,该芯片集成了蓝牙和 WIFI 功能
二、解决流程
- 确认蓝牙设备是否被禁用
- 确保蓝牙设备已打开
- 查询串口名称及波特率
- 查找蓝牙固件
- 加载蓝牙固件
- 验证蓝牙状态
三、工具介绍
- rfkill
- stty
- hciconfig
- 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
- 查询串口名称及波特率
- 查找蓝牙固件
- 加载蓝牙固件
- 验证蓝牙状态
正文完
发表至: linux
2019-04-23