我有以下问题:我有一个耳机,我想通过蓝牙连接 - 没问题(A2DP 就可以)。但如果我尝试切换到HSP/HFP 概况我无法做到这一点。这会导致“无法切换到 HSP/HFP”错误。
我搜索并尝试了许多解决方案,但都无法使其工作(我通过终端、blueman、pavucontrol 等连接了耳机。我甚至安装了不同的 Linux 发行版,希望在那里使用我的耳机)。我的 Beyerdynamic 耳机在 Windows 上运行良好 - 使用相同的蓝牙适配器,无需多言。Skype 和 discord 通话在那里没有问题。
以下是技术细节:
0a12:0001 Cambridge Silicon Radio, Ltd 蓝牙适配器(HCI 模式) 在带有 4.15.0-91-generic 内核的 Ubuntu 18.04 上(还有其他操作系统,例如:Elementary 19.1)
有人能帮我吗?我真的很喜欢它在 ubuntu 上运行,但如果我不能使用我的耳机麦克风,我就必须切换操作系统。:( 有没有人用过这个剑桥适配器?这似乎是造成麻烦的原因。有没有更新/更好的固件或驱动程序?它似乎也是不ubuntu 错误,因为将耳机连接到我的 ubuntu 笔记本电脑上并使用 HSP/HFP 工作正常。任何帮助、假设、提示和暗示都值得赞赏!谢谢!
编辑:
由于 pbhj 的回答:我尝试通过图形用户界面进行切换 1. 在操作系统设置中 2. 在 Pavucontrol 中以及在命令行中。错误消息显示在那里。
编辑#2:
与此同时,我找到了这个帖子。看起来这个问题根本就没有解决办法。如果你只需要音频输出 A2DP,蓝牙适配器就很好,因为它成本低。但不建议在 Linux 上使用耳机(在 Windows 上,它工作得非常好)。:/
答案1
我在使用 Oneplus Wireless Z Bass 版本时遇到了同样的问题。PulseAudio 无法检测到我的耳机麦克风,问题是我的耳机没有 HSP 配置文件,只有 HFP 配置文件。经过 2 天的尝试,我找到了解决方案,用 Pipewire 声音服务器替换 PulseAudio,它本身支持 HSP、HFP 和 A2DP。因此无需安装任何其他实用程序,例如ofono
。phonesim
另外,需要注意的是,即使按照所有步骤在 PulseAudio 中配置后,我的问题仍未解决ofono
。所以我想出了用 PipeWire 替换 PulseAudio 的步骤。
这是我写的解决此问题的详细文章,其中的步骤我也在这里添加。您可以按照它进行操作,很可能能够解决您的问题。
打开终端并执行以下步骤:
我们将使用 PPA 将 Pipewire 添加到 Ubuntu 20.04,该 PPA 会定期维护:
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
要更新系统中的 PPA 包,请执行以下操作:
sudo apt update
安装软件包:
sudo apt install pipewire
Pipewire 还需要安装依赖项,否则你将面临以下问题“安装 pipewire 后蓝牙耳机无法连接”. 通过以下方式安装依赖项:
sudo apt install libspa-0.2-bluetooth
现在,安装客户端库:
sudo apt install pipewire-audio-client-libraries
重新加载守护进程:
systemctl --user daemon-reload
禁用 PulseAudio:
systemctl --user --now disable pulseaudio.service pulseaudio.socket
如果你使用的是 Ubuntu 20.04,你还需要通过以下方式“屏蔽”PulseAudio:
systemctl --user mask pulseaudio
我不确定,但如果可能的话,您也可以尝试在其他版本上运行它。9
. 在 Pipewire 进行新更新后,您还需要启用pipewire-media-session-service
:
systemctl --user --now enable pipewire-media-session.service
您可以确保 Pipewire 目前正在运行:
pactl info
此命令将给出以下输出,您可以在服务器名称中看到:
PulseAudio (on PipeWire 0.3.28)
现在一切应该已经正常,您可以看到您的麦克风了。
如果没有出现,请尝试通过以下命令重新启动 Pipewire:
systemctl --user restart pipewire
如果仍然没有显示您的麦克风,您可以尝试重新启动一次,然后移除并再次配对您的蓝牙设备,以检查它是否正常工作。
我希望我已经帮助您解决了您的问题。
如果您想回滚我们所做的所有更改,您可以使用以下命令:
systemctl --user unmask pulseaudio
systemctl --user --now enable pulseaudio.service pulseaudio.socket
答案2
我在 Ubuntu 22.04 上按照 1infern0 的步骤操作,但必须采取额外步骤。按照这篇文章操作: 使用 PipeWire 诊断蓝牙耳机 HSP/HFP 问题 - Ubuntu 20.04
..引用了这篇文章: https://pipewire-debian.github.io/pipewire-debian/
sudo add-apt-repository ppa:pipewire-debian/pipewire-upstream
# For WirePlumber
sudo add-apt-repository ppa:pipewire-debian/wireplumber-upstream
sudo apt-get update
# Install pipewire and additional packages
sudo apt install gstreamer1.0-pipewire libpipewire-0.3-{0,dev,modules} libspa-0.2-{bluetooth,dev,jack,modules} pipewire{,-{audio-client-libraries,pulse,bin,jack,alsa,v4l2,libcamera,locales,tests}}
# didn't work with pipewire-media-session
sudo apt-get remove pipewire-media-session
sudo apt-get install wireplumber{,-doc} gir1.2-wp-0.4 libwireplumber-0.4-{0,dev}
# Then, to install issue below command.
sudo apt-get install blueman-git