更新:警告-对于某些用户(例如,下面的@ kalamalka-kid),以下内容完全破坏了他们的系统设置。请谨慎操作。
我有一个好消息-经过1.5天的全职黑客和拔头发后,我成功地将DELL XPS 13笔记本电脑(broadcom蓝牙芯片)与“低功耗”蓝牙4.0 Microsoft Designer鼠标一起使用。是的,对于Linux!:D
在此处进行记录,使处于相同情况下的某人不必经历相同的梳理工作。
首先,我按照LTS Enablement堆栈页面上的说明进行操作,以获得运行在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芯片(请参见下文进行修复)。
我从笔记本电脑上卸载了所有蓝牙设备,以重新开始。PPA 的bluez
软件包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具有Broadcom芯片,因此需要自定义固件。以下固件安装步骤仅对于该芯片是必需的。我由于系统日志中的以下几行而检测到该问题:
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
因此,我必须按照以下说明重新安装固件。
- 从此处获取Microsoft的驱动程序。
- 用打开
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
我尝试配对或连接时的消息。