Skip to content

树莓派验证与排障 ​

在手机通话中检查通话音频是否经过树莓派,并请通话对方确认听到的是变声后的声音。

测试环境 ​

以下组合已通过通话测试:

组件配置
计算机Raspberry Pi 4 Model B Rev 1.5
系统Debian 13,arm64
内核6.12.75+rpt-rpi-v8
Node.js / npm20.20.2 / 10.8.2
蓝牙BlueZ 5.82
音频PipeWire 1.4.2、WirePlumber 0.5.8
手机OPPO Find X8,Android
网络有线局域网

USB 蓝牙适配器、30 分钟持续通话、USB 耳机热插拔、USB UAC1 gadget 模式、宽带 HFP 编解码器、其他网络和手机型号尚未测试。使用这些配置前,先在实际设备上完成通话测试。

运行状态 ​

通话前检查服务和音频设备:

bash
systemctl --user is-active convbased-app convbased-link convbased-btagent
sudo systemctl is-active convbased-btclass convbased-bt-recover
arecord -l
wpctl status

通话期间检查 HFP 音频节点和 SCO 数据包计数:

bash
pw-link -l | grep -A3 -B1 -E 'bluez_(input|output)|convbased_out'
hciconfig -a

HFP 节点只在通话进行时出现,编号可能变化。不要把节点编号写入配置。

通话检查 ​

发起通话并确认:

  • 手机能完成配对、信任和重连,五分钟配对时间结束后不再接受新配对;
  • 通话对方的声音从 USB 耳机左右声道播放;
  • USB 麦克风以 48 kHz 单声道采集;
  • 通话对方只听到变声后的声音,听不到你的原声;
  • SCO RX、TX 计数持续增长且错误计数不增长;
  • 更换模型后设备重新连接,修改变声参数后无需重连即可生效;
  • 关闭实时服务后实时连接结束,各项系统服务仍为 active。

常见故障 ​

现象检查与处理
PIN 或配对密钥错误在手机和树莓派两端删除旧绑定,再开放新的五分钟配对窗口。
convbased-app 退出且状态为 78检查设备配置文件、API Key 权限和 MIC_DEVICE,修正后手动重启。
已配对但没有 HFP 节点发起通话并选择 Convbased Mic;仍无节点时检查 BlueZ、PipeWire 和 WirePlumber 状态。
通话对方听不到声音检查 pw-link、SCO TX 计数和 arecord -l。
通话对方听到原声确认手机使用 Convbased Mic,并确认送往手机的音频只来自 convbased_out。
更换模型或切换实时服务开关后未生效检查获取配置的日志、模型权限和网络;修正后重启 convbased-app。

查看最近 100 条服务日志:

bash
journalctl --user -u convbased-app.service -n 100 --no-pager
journalctl --user -u convbased-link.service -n 100 --no-pager
journalctl --user -u convbased-btagent.service -n 100 --no-pager

反馈故障 ​

反馈故障时,提供 SDK 提交哈希、Pi 型号、系统和组件版本、网络、通话时长及各项检查结果。使用 git rev-parse HEAD 获取 SDK 提交哈希。提交前删除 API Key、令牌、设备地址和通话参与者的个人信息,不要附带原始日志或录音。