我刚买了一个微软设计师鼠标,规格在这里,(蓝牙 4.0),无法在 Ubuntu 14.04 中使用它。在 Windows 8(同一台笔记本电脑)上,它运行良好。
所以我搜索了一下,发现很多人都有同样的问题。显然问题是 ubuntu 14.04 目前只有 BlueZ 4.101,需要 BlueZ 5.x 才能支持蓝牙 4.0 低功耗设备,这似乎很难安装。有一个线从 2013 年 4 月开始一直运行到最近,一直存在这个问题,指出很难在 Ubuntu 上整合 Bluez 5.x。
有些人给出了一些不起作用的建议,包括安装PPA 导致我不得不重新安装 ubuntu(蓝牙无法打开并且 ubuntu 在关机时会无限期挂起):
那么,难道就没有解决办法了吗?虽然硬件支持蓝牙 4.0,但我无法在 Ubuntu 14.04 LTS 上使用蓝牙 4.0?还有其他 Linux 发行版支持蓝牙 4.0 吗(比如 Mint 或其他发行版)?
没有人明确地说没有解决方案,可能是因为非常有经验的用户可以根据自己的情况做一些事情。
看起来对 ubuntu 不太赞同。
提前谢谢。
答案1
我使用以下 PPA 和包安装使 Microsoft Designer Mouse 在 Ubuntu 14.04 上运行:
sudo apt-add-repository ppa:vidplace7/bluez5
sudo apt-add-repository ppa:blueman/ppa
sudo apt-get update
sudo apt-get install bluez
sudo apt-get install blueman
那么你需要重新启动 blueman 以防万一。
killall blueman-manager
blueman-applet &
答案2
更新:警告 - 对于某些用户(例如下面的@kalamalka-kid),以下内容已完全破坏了他们的系统设置。请谨慎操作。
我有个好消息——经过一天半的全职黑客攻击和绞尽脑汁,我终于让“低能耗”蓝牙 4.0 Microsoft Designer 鼠标与我的 DELL XPS 13 笔记本电脑(博通蓝牙芯片)可靠地配合使用。Linux 太棒了!:D
在这里记录下来,以便处于同样境况的人不必经历同样的痛苦。
首先,我按照LTS 支持堆栈页面以获得在 14.04 上运行的良好新内核 3.19。
sudo apt-get install --install-recommends linux-generic-lts-vivid xserver-xorg-core-lts-vivid xserver-xorg-lts-vivid xserver-xorg-video-all-lts-vivid xserver-xorg-input-all-lts-vivid libwayland-egl1-mesa-lts-vivid
apt-get dist-upgrade
此后我还必须实际安装新的内核包。
这彻底破坏了我的蓝牙,因为我有一个需要自定义固件的 Broadcom 芯片(请参阅下文以了解如何修复)。
我卸载了笔记本电脑上的所有蓝牙组件,重新开始。卸载时 PPAbluez
中的软件包vidplace7/bluez5
挂起了。我在/var/lib/dpkg/info/bluez.prerm
执行卸载命令之前进行了编辑,删除了该invoke-rc.d
行并将其替换为,从而解决了此echo "no bluetooth stopping!"
问题。此方法有效,软件包将按照以下步骤卸载:
dpkg -l | grep blue
将为您提供所有蓝牙软件包的列表。apt-get remove --purge bluez bluetooth blueman...
列出的所有软件包将卸载所有内容。
删除所有蓝牙软件包后,删除损坏的 bluez PPA:
sudo add-apt-repository --remove ppa:vidplace7/bluez5
然后添加以下 PPA,它具有不崩溃的版本bluez
:
sudo apt-add-repository ppa:timchen119/bluez5-trusty
apt-get install bluez
由于 Dell XPS 13 配备了博通芯片,因此需要自定义固件。以下固件安装步骤仅适用于该芯片。我根据系统日志中的以下几行发现了问题:
kernel: bluetooth hci0: Direct firmware load for brcm/BCM20702A0-0a5c-216f.hcd failed with error -2
kernel: Bluetooth: hci0: BCM: patch brcm/BCM20702A0-0a5c-216f.hcd not found
所以我不得不按照这些说明重新安装固件。
- 获取驱动程序微软在这里。
- 用 打开它
cabextract
。 - 转换文件并保存到固件位置:
hex2hcd BCM20702A1_001.002.014.1443.1572.hex /lib/firmware/brcm/BCM20702A0-0a5c-216f.hcd
-请注意,对于 LTS 内核 3.19仅有的该版本的固件可以工作。我先尝试了更高版本,但没有工作。 - 确保你关闭笔记本电脑并重新打开不要只是重新启动。
一旦启动并再次运行,蓝牙应该就可以工作了,您可以安装例如blueman
连接到鼠标。您也可以像这样在命令行上手动连接鼠标(首先按住下面的按钮 3 秒钟以将其置于配对模式):
# bluetoothctl
[NEW] Controller XX:XX:XX:XX:XX:XX YourDevice [default]
[bluetooth]# agent KeyboardOnly
Agent registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# scan on
Discovery started
[CHG] Controller XX:XX:XX:XX:XX:XX Discovering: yes
[NEW] Device YY:YY:YY:YY:YY:YY Designer Mouse
[bluetooth]# pair YY:YY:YY:YY:YY:YY
Attempting to pair with YY:YY:YY:YY:YY:YY
[CHG] Device YY:YY:YY:YY:YY:YY Connected: yes
[CHG] Device YY:YY:YY:YY:YY:YY Paired: yes
Pairing successful
[bluetooth]# connect YY:YY:YY:YY:YY:YY
[CHG] Device YY:YY:YY:YY:YY:YY Connected: yes
花了很长时间才找出蓝牙固件的问题,因为唯一的症状就是消息org.bluez.Error.AuthenticationFailed
以及org.bluez.Error.AuthenticationCancelled
我尝试配对或连接时的情况。
答案3
谢谢你的回答。这对我有用...
. apt-add-repository ppa:vidplace7/bluez5
. apt-add-repository ppa:blueman/ppa
. apt-get update
. apt-get install bluez
. apt-get install blueman
. apt-get install bluez-compat
...但另外我必须在实验模式下运行 bluez。用您自己的脚本替换 /usr/sbin/bluetooth:
#!/bin/sh
bluetooth -E
现在我可以连接 blueman-applet 鼠标和键盘。
有什么想法可以在启动时自动连接或者不使用 blueman(仅使用命令行)吗?
答案4
我设法搞死我的 14.04 笔记本电脑遵循非常相似的答案,因此在尝试“撤消”您在此处安装的任何软件包时请小心。请不要删除 bluez 包!(直到事后我才意识到这是一件非常愚蠢的事情。)
不过,我确实设法让我的键盘和鼠标在 16.04 中工作得很好,你可以在这里看到我的答案:https://askubuntu.com/a/1023532/815371