Por que isso acontece?
Basicamente, quando você emparelha seu dispositivo, seu serviço Bluetooth gera um conjunto exclusivo de chaves de emparelhamento. Primeiro, o seu computador armazena o endereço MAC e a chave de pareamento do dispositivo Bluetooth. Em segundo lugar, o seu dispositivo Bluetooth armazena o endereço MAC do seu computador e a chave correspondente. Isso normalmente funciona bem, mas o endereço MAC para sua porta Bluetooth será o mesmo no Linux e no Windows (é definido no nível do hardware). No entanto, quando você emparelha novamente o dispositivo no Windows ou no Linux, ele gera uma nova chave. Essa tecla sobrescreve a chave armazenada anteriormente no dispositivo Bluetooth. O Windows sobrescreve a chave do Linux e vice-versa.
Como corrigir
Usando as instruções abaixo, primeiro emparelharemos seus dispositivos Bluetooth com o Ubuntu / Linux Mint e emparelharemos o Windows. Então voltaremos ao nosso sistema Linux e copiaremos as chaves de emparelhamento geradas pelo Windows em nosso sistema Linux.
- Parear w / mint / ubuntu - todos os dispositivos
- Emparelhar todos os dispositivos com janelas
-
Copie as chaves de pareamento do Windows de 1 a 2 maneiras.
- Use
psexec -s -i regedit.exe
das janelas (mais difícil)- faça o download em Download psexec de: link .
- descompacte o zip que você baixou e abra um terminal cmd como root. (clique em Iniciar, pesquise
cmd
, clique com o botão direito do mouse no CMD e clique emRun as Administrator
) - cd na pasta onde você descompactou o download.
- executar
psexec -s -i regedit.exe
- Navegue até encontrar as chaves em
LOCAL_MACHINE\CurrentControlSet\services\BTHPORT\Parameters\Keys
Se nenhum CurrentControlSet tentarControlset001
. - Você deve ver algumas etiquetas com os endereços MAC do seu dispositivo conectado - anote ou copie os endereços MAC e seus dados de valor associados. Descobri que não era possível copiar os dados binários e tinha que digitar esses valores manualmente, salvando em um lugar que eu pudesse acessar no meu sistema operacional Linux.
-
use
chntpw
da sua distro Linux (mais fácil), inicie em um terminal e, em seguida:-
sudo apt-get install chntpw
- monte sua unidade do sistema Windows
-
cd /[windowsSystemDrive]/WINDOWS/System32/config
- no windows 10 a pasta raiz é "Windows", no Win7 é "WINDOWS" -
chntpw -e SYSTEM
abre um console -
execute esses comandos nesse console
> cd CurrentControlSet\Services\BTHPORT\Parameters\Keys > # if no CurrentControlSet then try ControlSet001 > # on windows 7, "services" above is lowercased. > ls # shows you your bluetooth port's mac address Node has 1 subkeys and 0 values key name <aa1122334455> > cd aa1122334455 # CD into the folder > ls # lists of existing devices' MAC addresses Node has 0 subkeys and 1 values size type value name [value if type DWORD] 16 REG_BINARY <001f20eb4c9a> > hex 001f20eb4c9a => :00000 XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX ...ignore..chars.. # ^ the XXs are the pairing key
-
Anote o endereço MAC do dispositivo Bluetooth que corresponde à chave de pareamento. O mint / ubuntu não precisará dos espaços intermediários. Ignore o
:00000
-
- Use
-
Vamos voltar ao Linux (se não no Linux) e adicionar nossa chave do Windows às nossas entradas de configuração do Linux. Apenas observe que o endereço MAC da porta Bluetooth está formatado de maneira diferente ao mover do Windows para o Linux - referenciado como aa1122334455 no Windows no meu exemplo acima. A versão do Linux estará em maiúsculas e será pontuada por ':' após cada 2 caracteres - exemplo: AA: 11: 22: 33: 44: 55. Com base na sua versão do Linux, você pode fazer um destes:
-
Antes de Mint 18 / 16.04 você poderia fazer isso:
-
sudo edit /var/lib/bluetooth/[mac address of Bluetooth]/linkkeys
- [o endereço mac do bluetooth] deve ser a única pasta nessa pasta bluetooth. -
Este arquivo deve ser parecido com isto
[Bluetooth MAC] [Pairing key] [digits in pin] [0] AA:11:22:33:44:55 XXXXXXXXxxXXxXxXXXXXXxxXXXXXxXxX 5 0 00:1D:D8:3A:33:83 XXXXXXXXxxXXxXxXXXXXXxxXXXXXxXxX 4 0
- Altere a chave de pareamento do Linux para a janela um, menos os espaços.
-
-
No Mint 18 (e no Ubuntu 16.04) você pode ter que fazer isso:
- mudar para root
su -
- cd para o seu local de configuração do bluetooth
/var/lib/bluetooth/[bth port mac addresses)]
-
Aqui você encontrará pastas para cada dispositivo emparelhado. Os nomes das pastas são o endereço MAC dos dispositivos Bluetooth e contêm um único arquivo
info
. Nestes arquivos, você verá a chave de link que você precisa substituir por suas janelas como assim.[LinkKey] Key=B99999999FFFFFFFFF999999999FFFFF
- mudar para root
-
- Uma vez atualizado, reinicie seu serviço bluetooth
sudo /etc/init.d/bluetooth restart
ou reinicie no linux - ele funciona! - Reinicie no Windows - funciona!
- Upvote se isso funcionou para você!