Connecting to Bluetooth devices between Linux and Windows

A common issue that arises when you con­nect your laptop to your Bluetooth device (such as mobile phone), is that the device forges a unique authen­tic­a­tion with the Bluetooth stack of the oper­at­ing system. What that means is that if I pair my laptop with my phone in Linux, the pair­ing works only in Linux. When I boot in Win­dows, I have to remove the pair­ing from the phone and estab­lish it again in Win­dows. Then, when I con­nect to Linux I need to remove the pair­ing and estab­lish it again, and so on.

The reason for this prob­lem is that we use a single USB device (whether a dongle or module) that has a single MAC address. The mobile phone dif­fer­en­ti­ates between pair­ings based on the MAC address.

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

  1. get the Linux bluetooth stack to change the MAC address so that a second pair­ing will be pos­sible. I am not sure if it is pos­sible as some of the secur­ity func­tions prob­ably take place on the Bluetooth hard­ware. Cur­rently hcicon­fig does not offer an option sim­ilar to ifcon­fig eth0 hw ether 00:11:22:33:44:55.
  2. find the authen­tic­a­tion data of the pair­ing on Win­dows and con­vert to the format that the Linux stack under­stands and accepts. In this way, a single pair­ing will work for both oper­at­ing systes.

I do not have a solu­tion yet. If someone can look­ing into these it would be great!

Discussion Area - Leave a Comment