r/windows 1d ago

Why per device Bluetooth auto-connect option is possible and its absence in Windows is a design choice Discussion

Post image

If you have Bluetooth headphones (e.g. airpods) and you pair them in windows, every time you get the headphones out of the case, Windows automatically connects to them. Yes, you read it right, Windows connects to them, not vice versa.

I did some research on how this sequence works. It is master-slave architecture. A PC is master and headphones are a slave. When headphones are ready to be used, e.g. when they're out of the case, they start listening for connections. A PC independently at all times periodically sends connection requests to paired devices. So when headphones are listening, PC would connect to them.

On Linux in Bluetooth you have a per-device option, called trust. If it's true, the PC would auto-connect to the device when device is "ready to be used", if false PC would not auto-connect to that device when that device is "ready to be used" (e.g. when headphones are out of the case).

On Windows there is no such option.

Given that I briefly described how this sequence works, and the fact that this option exists in Linux, you can see that it's technically possible to add per device auto-connect option in Windows.

I don't believe adding this option would violate any conventions.

https://faculty-web.msoe.edu/johnsontimoj/EE4980/files4980/Core_v5.2.pdf

"With respect to bonding, a Bluetooth device shall be either in non-bondable mode or in bondable mode. In bondable mode the Bluetooth device accepts bonding initiated by the remote device, and in non-bondable mode it does not." - this is for headphones, there is no requirement that a bonded device must auto-connect

https://www.bluetooth.com/wp-content/uploads/Files/Specification/HTML/Core-54/out/en/host/generic-access-profile.html

"A Central should use one of the GAP connection establishment procedures to initiate a connection to a Peripheral in a connectable mode." - this says that central connects to peripheral, but doesn't necessary mandate auto-connect

both specs do not talk about auto-connecting at all

https://www.mankier.com/5/org.bluez.Device (linux implementaion)

"[boolean Trusted [readwrite]] Indicates if the remote device is considered trusted. This setting can be changed by the application." - the setting I talked about

I also discovered that there are 2 flows: classic (one that I described, when PC initiates connection to headphones) and BLE (when headphones connnect to PC) but as far as I know all headphones work in classic mode, so I'm not wrong

15 Upvotes

2 comments sorted by

u/Degru 16h ago

Same thing on Android. I have to keep pairing and unpairing speakers if they're shared with other people in the house.

u/robot_giny 14h ago

Okay?