Ubuntu – Bluetooth mouse pairs but does not connect

bluetoothdellmouse

I've installed Ubuntu 15.04 on a DELL XPS 13 notebook (model 9343, bios A03). After some tweaking, I've manage to make the bluetooth work (Broadcom Corp. BCM20702A0 Bluetooth). However, I manage to pair my bluetooth mouse (Dell WM615) but it does not connect. I tried already several things, but at this moment I'm a bit stuck. Does anybody have an idea what may be the issue?

I attach some info:

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

I realised that the pairing wasn't successful. I mean the bluetooth manager said that it was, but when I look at dmesg output, I have those two error lines:

[ 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

So I dumped also the HCI raw data and during the pairing it does that:

> 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

Best Answer

I believe what is happening is that you have a mouse that uses the new low-energy bluetooth mode that was introduced in bluez5 and your running bluez4. I have a similar situation with my Microsoft Arc Mouse.

In this line: [ 1359.069997] Bluetooth: HCI request failed to create LE connection: status 0x0c the LE connection refers to this new low-energy mode that is only in bluez5.

A Little Background on Bluez

Bluez is the bluetooth driver and, from what I've found online, each major update for it seems to break a lot of things. When bluez4 was introduced, it wasn't backwards compatible with bluez3 and so it took a long time for Linux to upgrade to bluez4 as every program had to be ported to bluez4. To go along with that, according to this article, apparently Bluez has horrible documentation and so took forever to figure out how to update programs to use it.

When bluez5 came out, it appears that also broke backwards compatibility. See this page. I've read that Canonical was trying to update to bluez5 for 15.04 but couldn't get it ready in time.

What You Can Do

Well, there's hope! You can download the Bluez5 .deb file here, if you need the AMD version, or here, if you need the i386 version, and then install it with dpkg -i name_of_package.deb. You'll then need to restart your computer.

This usually breaks the default bluetooth manager on Ubuntu but install Bluetooth Manager, either through Terminal or the Software Store, and you'll be able to connect all your devices.

Related Question