Isso é causado pela maneira como os dispositivos Bluetooth se autenticam entre si.
Quando a autenticação inicial (manual) ocorre, os dois dispositivos armazenam uma 'chave de link' que eles usam para autenticar automaticamente para conexões futuras.
Observação: role para baixo até " A maneira fácil " na parte inferior desta resposta, se você não se importar com o que está acontecendo e como fazer isso manualmente.
O que está acontecendo
- Você emparelha os fones de ouvido com o computador A .
- Isso requer autenticação manual.
- Uma nova chave de link é gerada.
- Os dois dispositivos armazenam esta chave de link.
- Você vira o seu switch USB para que seu dongle Bluetooth esteja agora conectado ao computador B .
- Você emparelha os fones de ouvido com o computador B .
- Isso requer autenticação manual.
- Uma nova chave de link é gerada.
- Como o computador B está usando o mesmo adaptador Bluetooth que o computador A usado, ambos têm o mesmo endereço, portanto, os fones de ouvido supõem que sejam o mesmo computador e perdeu sua chave de link original (por exemplo, dizendo a ela para "esquecer" os fones de ouvido) e, quando armazena essa chave de link, ela substitui a chave de link A do computador.
- Você vira a chave USB novamente para que o dongle Bluetooth seja conectado novamente ao computador A .
- O computador A e os fones de ouvido tentam se comunicar, mas não podem porque têm chaves de link diferentes e, portanto, não podem autenticar que são o mesmo dispositivo ao qual receberam permissão conectado a.
O que você quer é que os fones de ouvido pensem que são o mesmo computador, portanto, é necessário que os dois computadores armazenem a mesma chave de link.
A solução
Supondo que você esteja usando a pilha Bluetooth integrada do Windows, a chave de link é armazenada em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys
sob uma chave com o nome do endereço Bluetooth.
Observação: essa chave do registro não está acessível, a menos que você altere suas permissões ou inicie o editor do Registro como a conta SYSTEM.
Eu recomendo a última opção:
- Faça o download do PsExec da SysInternals .
- Iniciar prompt de comando.
- Executar
X:\Path\to\psexec.exe -s -i regedit.exe
.
Se você estivesse usando o Windows em ambos os computadores, poderia simplesmente emparelhar com os dois computadores e, em seguida, copiar a chave do link da última para a primeira. Como um dos seus computadores é um mac, você precisará fazer um pouco mais de trabalho, porque eles armazenam as chaves de link de maneira diferente.
- Primeiro, você deve emparelhar o Windows PC.
- Mova o dongle Bluetooth para o Mac.
- Obtenha a última chave de link do Mac:
- Isso deve ser armazenado em
/private/var/root/Library/Preferences/blued.plist
- Execute
sudo defaults read /private/var/root/Library/Preferences/com.apple.bluetoothd.plist
para localizar todas as chaves de links armazenadas.
- Isso deve ser armazenado em
- Descubra qual chave de link é para seus fones de ouvido.
- Converta esta chave de link do formato do Mac para o formato do Windows:
- Efetivamente você divide em pedaços de 2 caracteres, depois inverte os pedaços.
- Por não ser realista como essa chave de link é, se o Mac a armazenasse como
1234567890ABCDEFGH
, o PC do Windows precisaria que ela fosseGHEFCDAB9078563412
- Copie essa chave de link recém-convertida para o registro do PC com Windows sobre a anterior.
O caminho mais fácil
Eu também deparei com o "BT-LinkkeySync", um projeto de código aberto (licenciado pelo MIT) por Tobias Finke que pode obter todas as chaves de um Mac e enviá-las como um arquivo .reg
para facilitar a importação no Windows.
Aqui está um link para ele no GitHub: link