Ubuntu and Bluetooth Mice – The Cherry MW 8 ADV

Ever since I can remember, my wireless mice came with a USB dongle. They shrunk in size over the years so this straight forward approach has served me well. But the number of USB ports on notebooks is on a steep decline. Put recent security vulnerabilities on top that have been found in proprietary protocols and the manufacturer’s inability to deliver a fix that addresses them all made me look for a wireless mouse that uses Bluetooth and thus no longer requires an extra USB dongle. Obviously it has to work with Ubuntu Linux.

Only With The Latest and Gratest Ubuntu LTS

When I saw a colleague using a Cherry MV 8 ADV mouse recently, I went ahead and ordered one for myself. It supports Bluetooth but also has a proprietary transmission mode with its own USB dongle. Naturally, I was only interested in the Bluetooth part. When trying it with Ubuntu 16.04 on a Lenovo X250, the OS would detect it but no matter what I did, it wouldn’t recognize it as a mouse. A bit of a disappointment.

I was ready to blame it on the mouse but it turned out that it works flawlessly with Ubuntu 18.04’s Bluetooth stack even on an older Lenovo X230. After pairing, the only quirk was that the mouse had to be switched-off and on again before it started working, but that was it. I then tried other things like rebooting and suspend+resume to see if I could break connectivity but things just worked no matter what I tried. Looks like a stable solution. Also, when switching the mouse off and on again, it would connect almost as fast as mice with a proprietary USB dongle. A tad slower perhaps but hardly noticeable.

So while I can’t use the mouse today with my notebook until I upgrade to Ubuntu 18.04 LTS, there is at least a path forward for me to something that might be more secure than current proprietary USB dongles.

OS Hickups!?

Or so I thought for a day. Then, on the second day I un-bonded the mouse again and wanted to bond it again afterward. This worked o.k. but after the new pairing, the mouse pointer moved very sluggishly. Re-bonding it again didn’t help, rebooting the PC didn’t help, recharging the battery didn’t help, suspend/resume didn’t help. So I connected the mouse with its proprietary dongle and it was working fine. Then, I connected the mouse via Bluetooth to another notebook, again, everything worked fine. But whenever I connected it to my test notebook the sluggish mouse pointer behavior returned. So as it was a test installation anyway, I finally decided to reinstall the system partition to start from scratch. And indeed, the mouse started to work as it should again after bonding as if nothing had happened. This doesn’t leave me with a lot of confidence, as reinstalling the system partition because of a mouse issue on a production system is a bit of an extreme measure…

Some Bluetooth Details

On the Bluetooth side, the mouse uses the Bluetooth Low Energy (BLE) stack. Finally a real BLE device I could experiment with! Two years ago I used the available Linux tools to establish a BLE connection between two notebooks, but a real device is definitely much better to get a Wireshark trace from. Below is an image of the message exchange after switching-on the mouse. Click on the image for a closer look.

BLE connectivity with a mouse