Connecting to Bluetooth devices between Linux and Windows

A common issue that arises when you connect your laptop to your Bluetooth device (such as mobile phone), is that the device forges a unique authentication with the Bluetooth stack of the operating system. What that means is that if I pair my laptop with my phone in Linux, the pairing works only in Linux. When I boot in Windows, I have to remove the pairing from the phone and establish it again in Windows. Then, when I connect to Linux I need to remove the pairing and establish it again, and so on.

The reason for this problem is that we use a single USB device (whether a dongle or module) that has a single MAC address. The mobile phone differentiates between pairings based on the MAC address.

Therefore, how can we solve this issue? A search with Google shows that it is a known issue with no answer yet. There are two avenues to fix this problem;

  1. get the Linux bluetooth stack to change the MAC address so that a second pairing will be possible. I am not sure if it is possible as some of the security functions probably take place on the Bluetooth hardware. Currently hciconfig does not offer an option similar to ifconfig eth0 hw ether 00:11:22:33:44:55.
  2. find the authentication data of the pairing on Windows and convert to the format that the Linux stack understands and accepts. In this way, a single pairing will work for both operating systes.

I do not have a solution yet. If someone can looking into these it would be great!

Leave a Reply

%d bloggers like this: