YRInc · 2020年09月30日

 云芯一号 - 开启 HDMI音频 及 蓝牙支持

要想充分发掘"云芯一号"的多媒体服务器潜能, 音频蓝牙 功能是必不可少的组件. 我们注意到初始的 Ubuntu 系统并未默认开启音频与蓝牙的支持, 故本文提供一种解决问题的思路.

("宽心"通过刷入 Debian 9 覆盖原厂系统的方式也实现了 HDMI 音频输出的支持, 可参见他的文章)

前置要求


  1. 安装桌面环境 (本文使用的是 apt install xubuntu-desktop 所安装的 xfce4 桌面环境)
  2. PulseAudio 音频驱动 (桌面环境一般自带)
  3. 蓝牙管理器 (桌面环境一般自带, 可通过"设置 -> 蓝牙管理器"查看)
  4. 安装显示驱动 (可选, 参见"徐珂靖"的文章)

方法局限


  1. 音频输出目前仅支持 HDMI 输出, 板载耳机接口尚未支持 (TODO), 故只能通过 显示器背后的耳机接口 或 连接电视 输出音频.
  2. 使用蓝牙连接音箱或耳机可完美无线输出音频.

配置音频驱动


1. 安装 alsamixer 并启动

sudo apt install alsamixer

sudo alsamixer

效果如下图所示, 可以看到软件识别出了云芯一号的音频解码方案为 rt5651 芯片:
截屏2020-09-30 下午1.34.08.png

2. 使用 左右键 切换音频源, 上下键 调整音量 将 Mono DAC 与 ADC Boos 的音量拉满.

3. 使用 M 键控制音频源开关(即静音开关)\, 按照下表操作相应音频源的开关, 0代表关, 1代表开. [1]

[ ! ] 注意以下列表中第一项置为关闭(MM), 以下列表中其他项置为开启(OO).

"RT5651 ASRC Switch" 0

"DAC MIXL INF1 Switch" 1
"DAC MIXR INF1 Switch" 1
"Stereo DAC MIXL DAC L1 Switch" 1
"Stereo DAC MIXR DAC R1 Switch" 1
"OUT MIXL DAC L1 Switch" 1
"OUT MIXR DAC R1 Switch" 1
"HPOVOL L Switch" 1
"HPOVOL R Switch" 1
"HPO MIX HPVOL Switch" 1
"HPO MIX HPVOL Switch" 1
"HPO L Playback Switch" 1
"HPO R Playback Switch" 1

4. 编辑文件 /etc/pulse/default.pa 在文件末尾添加配置项如下 [2]

set-default-sink 0

5. 重启系统后即可输出 HDMI 音频.

配置蓝牙


云芯一号使用的是 AP6212 方案提供WIFI和蓝牙支持. 因为蓝牙涉及系统硬件层面操作, 有时 sudo 也不能提供足够的权限, 因此需要首先切换到 root 会话.

sudo su

然后依次执行以下操作 [3]:
[ ! ] 注意应当把下文中的 $MAC\_OPTIONS 替换为你的包装盒内贴的原厂蓝牙 MAC 地址 (或者任意一个喜欢的地址)
[ ! ] ttyS0 是蓝牙设备的接口

systemctl stop bluetooth

rfkill unblock all
echo "0" > /sys/class/rfkill/rfkill0/state
echo "1" > /sys/class/rfkill/rfkill0/state
echo " " > /dev/ttyS0

hciattach /dev/ttyS0 bcm43xx 1500000 flow bdaddr $MAC_OPTIONS

hciconfig hci0 up

如此蓝牙就已经启动, 可以使用如下命令进行查看:

sudo hciconfig -a

预期效果如下:

截屏2020-09-30 下午2.31.50.png

最后我们可以通过桌面环境提供的 "设置 -> 蓝牙管理器" 来 搜索, 添加和配对 蓝牙设备, 效果如下图:

9LVzMkhl.jpeg

需要注意的是以上所进行的蓝牙配置在重启后会失效, 因此可以将以上代码存为一个 sh 脚本在某次重启后需要的时候手动运行一次, 或者设置成一个开机的服务以使其永久有效.

以上.

参考文献


[1] RK3399 ANDROID7.1 ALC5651 声卡驱动调试 - 灰信网
[2] FriendlyDesktop 18.04 for RK3399 - 友善之臂 Wiki
[3] AP6212a - Bluetooth Audio Streaming Timeouts in audio bus - armbian

推荐阅读
关注数
4271
内容数
71
低成本Arm微服务器开发平台“云芯1号”教程及应用,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息