如何使用具有 HSP/HFP 配置文件的蓝牙设备使用 pulseaudio >=6 和 bluez >= 5.24

cie*_*awy 11 pulseaudio bluez raspberry-pi raspbian

我想从我的 linux 机器上的蓝牙设备接收/录制音频。我所拥有的耳机作为耳机正常工作(特别是麦克风工作正常),即在 macOS 上,但我无法让它与 linux 一起工作 - 特别是 raspbian jessy - 但从我所看到的情况来看,它也会影响其他发行版。

  • 设备已配对并正确连接使用 bluetoothctl
  • A2DP 配置文件正常工作
  • pactl ls 报告等 headset_head_unit: Headset Head Unit (HSP/HFP) (priority 20, available: no)
  • 在尝试切换到headset_head_unit脉冲音频报告时[pulseaudio] module-bluez5-device.c: Refused to switch profile to headset_head_unit: Not connected

我发现,并尝试了各种建议,进行升级bluezpulseaudio使用ofono等却没有任何成功。最常见的评论是HSP / HFP支持已在最近的下跌bluezofono应使用(但我不ofono肯定应该如何这里AFAIK它与帮助时,BT susystem被用作即连接到客户端手机)。我可以看到许多未解决的错误,即此处此处的freedesktop 、redhatubuntudebian以及在 stackexchange 上提出的类似问题。虽然报告了一些成功,但我无法继续尝试即

  • 使用pulseaudio配置load-module module-bluetooth-discover headset=ofono(和autonative以及变体),版本7,8,10
  • bluez5.24、5.42、5.43(无法找到 debian 的其他版本,因为bluez5.35报告了一些成功)
  • 重新配对并重新连接耳机设备 bluetoothctl

报告中也有一些混乱,因为可能有些人混合使用 linux 蓝牙堆栈作为客户端/服务器 - 至少这是我对使用ofono.

虽然也有一些关于 RPI 3 蓝牙的问题报告,但我想首先找到任何迹象,如果 HFP/HSP 可以使用当前的bluez/ pulseaudio。任何带有明确步骤的成功报告,即在 debian(甚至在 raspbian 上更好)都会对我有很大帮助。即使在任何其他发行版上的任何成功设置都可以帮助我在我的盒子上构建相同的版本。看起来问题影响pulseaudio/bluez堆栈超过一年,很难相信人们不能使用他们的 BT 耳机,即 VOiP 通话这么长时间......不确定我是否提供了调查中的所有重要细节,所以在评论案例我可以更新这个问题。

还想知道是否有一些错误报告与一些积极的开发和解决方案的机会。

更新: 最有可能在删除后ofono我终于设法能够headset_head_unit在尝试录制或播放声音时将连接切换到该设备显示一些活动(即脉动内置 LED)但没有接收/发送数据(即parec创建空wav大小为 44b,这只是 wav 标题)。我已经使用a2dp_sink配置文件测试了相同的设备,并且可以毫无问题地播放声音。我想知道如何调试它。

小智 4

我的解决方案:

经过大量搜索后,我刚刚在 Fedora 26 中找到了我的解决方案,使用 Plantronics Legend 和可插拔蓝牙 USB。

我将回顾我的历史,并尽可能用我的解决方案更新线程。这对我有用,直接来自 Plugable(这是我正在使用的 USB 模块)。

请参阅这篇文章。

上述链接的命令摘要

wget https://s3.amazonaws.com/plugable/bin/fw-0a5c_21e8.hcd
sudo mkdir /lib/firmware/brcm
sudo mv fw-0a5c_21e8.hcd /lib/firmware/brcm/BCM20702A0-0a5c-21e8.hcd
sudo cp /lib/firmware/brcm/BCM20702A0-0a5c-21e8.hcd /lib/firmware/brcm/BCM20702A1-0a5c-21e8.hcd
Run Code Online (Sandbox Code Playgroud)

然后重新启动。