我在一台 DELL XPS 13 笔记本(型号 9343,BIOS A03)上安装了 Ubuntu 15.04。经过一些调整,我设法让蓝牙工作(Broadcom Corp. BCM20702A0 蓝牙)。但是,我设法配对了我的蓝牙鼠标(Dell WM615),但它没有连接。我已经尝试了几种方法,但此刻我有点卡住了。有人知道问题可能是什么吗?
我附上一些信息:
ludwik@ludwik-XPS-13:~$ lsusb
Bus 003 Device 002: ID 8087:8001 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 0c45:670c Microdia
Bus 001 Device 004: ID 04f3:20d0 Elan Microelectronics Corp.
Bus 001 Device 003: ID 0a5c:216f Broadcom Corp. BCM20702A0 Bluetooth
Bus 001 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ludwik@ludwik-XPS-13:~$ dmesg | grep firmware
[ 2.741704] Bluetooth: hci0: BCM: firmware hci_ver=06 hci_rev=1624 lmp_ver=06 lmp_subver=220e
我意识到配对不成功。我的意思是蓝牙管理器说配对成功了,但是当我查看 dmesg 输出时,出现了以下两条错误行:
[ 1214.194988] ERROR @wl_cfg80211_get_station : Wrong Mac address, mac = d0:c7:89:cd:d0:ef profile =d0:c7:89:cd:d0:e0
[ 1359.069997] Bluetooth: HCI request failed to create LE connection: status 0x0c
因此我也转储了 HCI 原始数据,并且在配对过程中它执行以下操作:
> HCI Event: Command Complete (0x0e) plen 4
Inquiry Cancel (0x01|0x0002) ncmd 1
status 0x00
> HCI Event: Command Status (0x0f) plen 4
LE Create Connection (0x08|0x000d) status 0x00 ncmd 1
> HCI Event: Command Status (0x0f) plen 4
LE Start Encryption (0x08|0x0019) status 0x00 ncmd 1
> HCI Event: Encrypt Change (0x08) plen 4
status 0x00 handle 64 encrypt 0x01
> HCI Event: Command Status (0x0f) plen 4
Disconnect (0x01|0x0006) status 0x00 ncmd 1
> HCI Event: Disconn Complete (0x05) plen 4
status 0x00 handle 64 reason 0x16
Reason: Connection Terminated by Local Host
答案1
我认为发生的情况是,您的鼠标使用了 bluez5 中引入的新低能耗蓝牙模式,并且您正在运行 bluez4。我的 Microsoft Arc Mouse 也遇到了类似的情况。
在此行中:[ 1359.069997] Bluetooth: HCI request failed to create LE connection: status 0x0c
连接LE
指的是仅在 bluez5 中存在的这种新的低能耗模式。
Bluez 的一些背景知识
Bluez 是蓝牙驱动程序,从我在网上找到的信息来看,它的每次重大更新似乎都会破坏很多东西。当 bluez4 推出时,它与 bluez3 不向后兼容,因此 Linux 花了很长时间才升级到 bluez4,因为每个程序都必须移植到 bluez4。与此同时,根据本文,显然 Bluez 的文档太糟糕了,因此花了很长时间才弄清楚如何更新程序来使用它。
当 bluez5 发布时,似乎也破坏了向后兼容性。请参阅这一页。我了解到 Canonical 正尝试将 bluez5 更新至 15.04 版本,但无法及时准备好。
你可以做什么
好吧,还有希望!您可以下载 Bluez5 .deb 文件这里,如果您需要 AMD 版本,或者这里,如果您需要 i386 版本,则使用 进行安装dpkg -i name_of_package.deb
。然后您需要重新启动计算机。
这通常会破坏 Ubuntu 上的默认蓝牙管理器,但安装蓝牙管理器,无论是通过终端还是软件商店,您都将能够连接所有设备。