Ubuntu – Logitech MX Anywhere 2 mouse pairs but doesn’t do anything

bluetoothlogitechmouseunknown-device

I recently bought the new Logitech MX Anywhere 2 mouse and have gotten it to work on my windows machines and but when I try to use it on my Dell M3800 running Ubuntu 14.04 it doesn't work at all. I can pair the device with no problem and it even displays the name of the device as "MX Anywhere 2" but it doesn't seem to actually identify the actual device as anything. Using blueman it shows as an "unknown" type and within the system bluetooth manager it displays the type as "unknown" as well. Any suggestions?

Best Answer

UPDATE FOR >15.10:

In my original answer I said that the problem would most likely be fixed when 15.10 comes around. While 15.10 does indeed have bluez 5, there is still some problem with pairing. Honestly, it was quite a while since I fixed this problem myself, but if I remember correctly, the MX Master (MX Anywhere 2) uses a PIN-less pairing method which isn't quite properly implemented yet in Ubuntu. Here are some commands which you can use as a quick fix:

hciconfig hci0 sspmode 1
hciconfig hci0 down
hciconfig hci0 up

If you're using another Bluetooth device than hci0, you obviously have to change that part of the commands, otherwise, they should be good to go. You'll also have to run them each time you restart and therefore I recommend you either have them in an accessible script or that you add them to startup applications. I should also note that I have since been able to get the mouse working even without running these commands after rebooting, so only use them if you have to.

ORIGINAL ANSWER (for < 15.10)

Answer taken from here: https://askubuntu.com/a/660666/256078

What's happening is that the MX Anywhere 2 requires Bluetooth Smart and Ubuntu ships with bluez (the Bluetooth driver) 4 which does not have support for Bluetooth Smart. Bluez 5, which adds support for Bluetooth Smart, is supposed to start shipping with 15.10, but for now, you'll have to install bluez 5 manually if you want to use it.

Just a heads up, if you want to have a stable system, DON'T DO THIS. First of all, this will break the built in Bluetooth control in the settings panel. This method that I'm about to describe adds a PPA too, which is supposed to be bad for your system when upgrading and stuff. Only do this if you know how to remove a PPA and revert to bluez 4 or if you just don't care and want to get it working. ;P

First, you need to add a PPA with bluez 5. I would recommend the bluez 5 PPA made by Austin since that's the one I have used before. Add it with this command:

sudo add-apt-repository ppa:vidplace7/bluez5

Then refresh apt-get:

sudo apt-get update

After that you can install bluez 5 with this command:

sudo apt-get install bluez

Now that you have bluez 5, you need a way of controlling Bluetooth since, as stated earlier, the built in control panel will not work anymore.

There are two ways which I have tried for this. If you want to have a GUI then Blueman is your best option. You can install it simply with:

sudo apt-get install blueman

This will install the Blueman Bluetooth interface which you can open for your app launcher. It should be straight forward to use and not require any in depth explanation.

The method I recommend however is to use the command line. I found this to be much more stable (worked on login screen while Blueman didn't) and actually surprisingly intuitive to use for being a command line.

The way it works is that you type bluetoothctl in to the command line where you'll now have a command interface to interact with Bluetooth devices. You can type help to get a list of commands and what they do. The command that you'll want to use first for pairing the MX Anywhere 2 is the scan command. If you type scan on, your computer will start searching for Bluetooth devices. While in this mode, put your MX Anywhere 2 in to pairing mode and wait for it to show up in the console. It will show up something like this:

[NEW] Device XX:XX:XX:XX:XX:XX MX Anywhere 2 (The name may not be accurate)

The "XX:XX:XX:XX:XX:XX" string is the MAC address of your MX Anywhere 2. To pair it and connect it, type:

pair XX:XX:XX:XX:XX:XX
connect XX:XX:XX:XX:XX:XX

Make sure to change all the "XX:XX:XX:XX:XX:XX" to the MAC address you got when scanning.

Done.

Related Question