Microsoft Designer Mouse (Bluetooth 4.0) on Ubuntu 14.04 LTS

I got the Microsoft Designer Mouse working on Ubuntu 14.04 with the following PPAs and package installs:

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

Then you need to restart blueman just incase.

killall blueman-manager
blueman-applet &

Update: WARNING - for some users such as @kalamalka-kid below, the following has broken their system settings completely. Proceed with caution.

I have some good news - I managed to get the "Low Energy" Bluetooth 4.0 Microsoft Designer Mouse working with my DELL XPS 13 laptop (broadcom bluetooth chip) reliably after 1.5 days of full time hacking and hair-tearing. Yay for Linux! :D

Documenting it here so somebody in the same situation doesn't have to go through the same hair-tearing.

First, I followed the instructions at the LTS Enablement stack page to get a nice new kernel 3.19 running on 14.04.

  • 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
  • I also had to do apt-get dist-upgrade after that to actually install the new kernel packages.

This broke my Bluetooth completely because I have a Broadcom chip that requires custom firmware (see below for fixing that).

I uninstalled all of the Bluetooth stuff from my laptop to start fresh. The bluez package from the vidplace7/bluez5 PPA hung for me on uninstall. I fixed this by editing /var/lib/dpkg/info/bluez.prerm before doing the uninstall command and removing the invoke-rc.d line and replacing it with echo "no bluetooth stopping!". That worked and the package will uninstall with the following steps:

  • dpkg -l | grep blue will give you a list of all bluetooth packages.
  • apt-get remove --purge bluez bluetooth blueman... with all of those packages listed will uninstall everything.

Once all of the bluetooth packages are removed, remove the broken bluez PPA:

  • sudo add-apt-repository --remove ppa:vidplace7/bluez5

Then add the following PPA, which has a non-crashing version of bluez:

  • sudo apt-add-repository ppa:timchen119/bluez5-trusty
  • apt-get install bluez

Because the Dell XPS 13 has a broadcom chip it requires a custom firmware. The following firmware installation steps are only necessary for that chip. I detected the problem because of the following lines in my syslog:

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

So I had to follow these instructions to get the firmware installed again.

  • Get the driver from Microsoft here.
  • Open it with cabextract.
  • Convert the file and save to the firmware location: hex2hcd BCM20702A1_001.002.014.1443.1572.hex /lib/firmware/brcm/BCM20702A0-0a5c-216f.hcd - note that for the LTS kernel 3.19 only that version of the firmware will work. I tried a later version first and it did not work.
  • Make sure you power your laptop off and back on again don't just reboot.

Once you are up and running again bluetooth should work and you can install e.g. blueman to connect to the mouse. You can also manually connect to the mouse on the command line like this (first press the button underneath for 3 seconds to put it in pair mode):

# 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

It took a long time to find out the issue with the bluetooth firmware because the only symptom was the messages org.bluez.Error.AuthenticationFailed and org.bluez.Error.AuthenticationCancelled when I tried to pair or connect.