多余的机顶盒可以刷为 Ubuntu 继续发光发热作为一个 AirPlay2 音频接收器也很不错。


硬件及刷机部分

型号 芯片 运存 存储类型 存储容量 fastboot
华为悦盒ec6108v9 hi3798mv100 1G emmc 4G mdmo1d

部署 Shairport Sync

提前安装部署过程中所需依赖

apt update
apt upgrade
apt install --no-install-recommends build-essential git autoconf automake libtool libpopt-dev libconfig-dev libasound2-dev avahi-daemon libavahi-client-dev libssl-dev libsoxr-dev libplist-dev libsodium-dev libavutil-dev libavcodec-dev libavformat-dev uuid-dev libgcrypt-dev xxd

构建并安装 nqptp

git clone https://github.com/mikebrady/nqptp.git
cd nqptp
autoreconf -fi 
./configure --with-systemd-startup
make
make install
cd ..

启动 nqptp

systemctl enable nqptp #设置自动启动
systemctl start nqptp #启动 nqptp

构建并安装 Shairport Sync

git clone https://github.com/mikebrady/shairport-sync.git
cd shairport-sync
autoreconf -fi
./configure --sysconfdir=/etc --with-alsa \
    --with-soxr --with-avahi --with-ssl=openssl --with-systemd --with-airplay-2
make
make instal

安装 alsa-utils ,以便读取设备id

sudo apt install alsa-utils

配置 Shairport Sync

  1. 通过 USB 转 3.5mm 连接盒子与音响,执行 aplay -l 查看已连接的设备id;例如获取到的为 card 2
  2. 编辑 /etc/shairport-sync.conf 文件,可以通过 vi 等命令或 SFTP 进行修改;建议修改以下段落:
  • name = "BlackBox" //在Airplay中显示的名称,自己定义
  • volume_range_db = 40; //通过Airplay播放时的音量调整范围,默认60
  • audio_backend_latency_offset_in_seconds = -0.04; //(可选)播放延时
  • output_device = "plughw:2"; //这里要配置音频输出的设备编号;上面获取到的是 card 2 则改为plughw:2
  • mixer_control_name = "PCM"; //不太明白这个参数,但默认有就贴过来用
    记得去除前方 // 注释,不然不生效。

启动Shairport Sync

systemctl enable shairport-sync #设置自动启动
systemctl start shairport-sync #启动 Shairport Sync

向“家庭”App 添加 AirPlay2

  1. 在 iPhone 或 iPad 上打开 “家庭” App
  2. 右上角“✚”按钮 > 选择添加或扫描配件 > 更多选项
  1. 选择 AirPlay2 设备,点击添加即可。

安装 WiFi 模块脱离有线

  1. 执行脚本,执行完成后重启服务器
bash <(curl -sSL https://gitee.com/xjxjin/scripts/raw/main/install_hi3798mv100_wifi.sh)
  1. 安装网卡驱动不知道网络类型则默认安装,如果驱动不成功可以重新执行安装
bash <(curl -sSL https://gitee.com/xjxjin/scripts/raw/main/install_hi3798mv100_wifi.sh)
  1. 执行 nmcli 查看是否有 wlan0 网卡
  • 出现 wlan0:驱动成功;查看网卡安装状态:nmcli device status
  • 没有 wlan0:则重新执行步骤 2 脚本,安装 ftv 类型
  1. 连接 WiFi ;注意的是盒子仅支持 2.4G 频段,所以连接时注意 WiFi 频段。
nmcli device wifi connect "WiFi名字" password "WiFi密码" ifname wlan0

解决补完 WiFi 补丁后启动慢

WiFi 连接成功后,拔掉网线通过路由器获取新的 iP 进行连接,执行命令进行修改配置:

sudo vim /etc/systemd/system/network-online.target.wants/networking.service

将里面的 TimeoutStartSec=5min 修改为 TimeoutStartSec=2sec 后保存,再执行:

sudo vim /etc/dhcp/dhclient.conf

修改 timeout15 后保存。