Emparelhamento Bluetooth na inicialização dupla do Windows e Linux Mint / Ubuntu - Pare de ter que emparelhar dispositivos

53

Ao inicializar duas vezes o Windows 7/10 e o Linux Mint / Ubuntu, você pode precisar reparar os dispositivos Bluetooth repetidamente. Isso acontecerá toda vez que você alternar o SO.

Agora, como você evita isso?

Estou respondendo minha própria pergunta com o seguinte guia, que foi testado no Ubuntu 14.4 e Linux mint 17.2, 17.3 e agora Linux Mint 18.x.

Mario Olivio Flores
fonte
2
Eu fiz isso várias vezes e as etapas são extremamente entediantes. Eu criei esse script para velocidade ajuda-lo: github.com/LondonAppDev/dual-boot-bluetooth-pair
Mark Winterbottom

Respostas:

97

Por que isso acontece?

Basicamente, quando você emparelha seu dispositivo, seu serviço Bluetooth gera um conjunto exclusivo de chaves de emparelhamento. Primeiro, o computador armazena o endereço mac e a chave de emparelhamento do dispositivo Bluetooth. Segundo, o seu dispositivo Bluetooth armazena o endereço mac do seu computador e a chave correspondente. Isso geralmente funciona bem, mas o endereço mac da sua porta Bluetooth será o mesmo no Linux e no Windows (está definido no nível do hardware). No entanto, quando você emparelha o dispositivo no Windows ou Linux, ele gera uma nova chave. Essa tecla substitui a chave armazenada anteriormente no dispositivo Bluetooth. O Windows substitui a chave do Linux e vice-versa.

Como consertar

Usando as instruções abaixo, primeiro emparelharemos seus dispositivos Bluetooth com o Ubuntu / Linux Mint e, em seguida, emparelharemos o Windows. Em seguida, voltaremos ao nosso sistema Linux e copiaremos as chaves de emparelhamento geradas pelo Windows em nosso sistema Linux.

  1. Par com mint / ubuntu - todos os dispositivos
  2. Emparelhar todos os dispositivos com janelas
  3. Copie as chaves de emparelhamento do Windows de 1 em 2 maneiras.

    • Use psexec -s -i regedit.exeno Windows (mais difícil)

      1. vá para Dispositivo e impressoras no Painel de controle e vá para as propriedades do seu dispositivo bluetooth; em seguida, na seção bluetooth, você pode encontrar o identificador exclusivo, copie-o (será necessário mais tarde).
      2. Faça o download em Faça o download do psexec em: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx .
      3. descompacte o zip que você baixou e abra um terminal cmd como root. (clique em Iniciar, procure cmd, clique com o botão direito do mouse no CMD e clique em Run as Administrator)
      4. CD na pasta em que você descompactou o download.
      5. corre psexec -s -i regedit.exe
      6. Navegue para encontrar as chaves em LOCAL_MACHINE\CurrentControlSet\services\BTHPORT\Parameters\KeysSe nenhuma CurrentControlSet tentar Controlset001. No Windows 10, você encontrará as chaves emHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\
      7. Você deve ver algumas etiquetas de teclas com os endereços MAC - anote o endereço MAC associado ao identificador exclusivo que você copiou antes. Você não pode copiar os adddres do MAC e escrevê-los manualmente, salvando em um local que possa acessar no sistema operacional Linux.
    • use chntpwda sua distribuição Linux (mais fácil), inicie em um terminal e:

      1. sudo apt-get install chntpw
      2. monte sua unidade do sistema windows
      3. cd /[windowsSystemDrive]/WINDOWS/System32/config - no Windows 10, a pasta raiz é "Windows", no Win7 é "WINDOWS"
      4. chntpw -e SYSTEM abre um console
      5. 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
        
      6. Anote qual endereço MAC do dispositivo Bluetooth corresponde a qual tecla de emparelhamento. O mint / ubuntu one não precisará dos espaços intermediários. Ignore o:00000

  4. Vamos voltar ao Linux (se não no Linux) e adicionar nossa chave do Windows às nossas entradas de configuração do Linux. Observe que o endereço mac da porta Bluetooth é formatado de maneira diferente ao passar do Windows para o Linux - referido como aa1122334455 no Windows no meu exemplo acima. A versão Linux estará em todas as maiúsculas e pontuada por ':' após cada 2 caracteres - exemplo: AA: 11: 22: 33: 44: 55. Com base na sua versão do Linux, você pode executar um destes procedimentos:

    • Antes da Casa da Moeda 18 / 16.04, você podia fazer o seguinte:

      1. sudo edit /var/lib/bluetooth/[mac address of Bluetooth]/linkkeys - [o endereço mac do bluetooth] deve ser a única pasta nessa pasta bluetooth.
      2. Este arquivo deve ser algo como 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
        
      3. Altere a chave de emparelhamento do Linux para a do Windows, menos os espaços.
    • No Mint 18 (e no ubuntu 16.04), você pode precisar fazer o seguinte:

      1. mudar para raiz su -
      2. CD ao seu local de configuração do Bluetooth /var/lib/bluetooth/[bth port mac addresses)]
      3. Aqui você encontrará pastas para cada dispositivo com o qual emparelhou. Os nomes das pastas são o endereço mac dos dispositivos Bluetooth e contêm um único arquivo info. Nesses arquivos, você verá a chave do link que precisa substituir pelas do Windows assim.

        [LinkKey]
        Key=B99999999FFFFFFFFF999999999FFFFF
        
  5. Uma vez atualizado, reinicie o serviço bluetooth sudo /etc/init.d/bluetooth restartou reinicie no linux - funciona!
  6. Reinicie no Windows - funciona!
  7. Voto a favor se isso funcionou para você!
Mario Olivio Flores
fonte
11
Isso funciona obrigado. É triste dizer que o Bluetooth no Windows funciona sem problemas. BT no Linux é uma merda. Estou usando o Linux Mint 17.3 e meu fone de ouvido se conecta e desconecta quase imediatamente. Toda vez que eu tento o BT no Linux, é uma batalha fazê-lo funcionar.
RyanNerd 24/02
2
Eu vim aqui depois de instalar o Ubuntu 16.04LTS (dualboot com Windows) e já emparelhar meu teclado e mouse com ele. Em vez de copiar a chave do Windows para o Ubuntu, fiz isso inversamente usando o chntpw: Depois de montar a partição do Windows e fazer todas as coisas do chntpw que o Mario Flores fez, ed "nome do valor" no terminal chntpw. Pegue a "Key =" no arquivo de informações do seu dispositivo bluetooth no Ubuntu e digite-a como esta em chntpw: ": XX XX XX XX XX XX ...." onde XX é a cada 2 letras / números na chave. Em seguida, digite se ele será salvo no registro. Repita se necessário.
Sameer Puri
3
ele deve ser: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters(assim HLKM)
TiloBunt
2
A propósito, se você possui um dispositivo Bluetooth LE, haverá mais algumas coisas a fazer e o unix.stackexchange.com/questions/402488 pode ajudá-lo.
Frederick Zhang
4
No Windows 10, você encontrará suas chaves em "Computador \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ BTHPORT \ Parameters \ Keys".
Thomas
0

Depois de obter a chave do dispositivo bluetooth no windows, você pode simplesmente acessar as configurações bluetooth e obter a chave, essa é a parte mais fácil. A parte difícil é mudar no linux, eu uso o ubuntu e do jeito que eu fiz foi:

instale o gksu para obter permissões de administrador, basta colocar este comando: sudo apt-get install gksu

uma vez instalado, você deve pressionar ALT + F2 e digitar gksu nautilus (apenas tenha cuidado para alterar apenas o necessário, caso contrário, poderá danificar o sistema operacional.)

Agora, vá para o local específico do arquivo seguindo o caminho de resposta acima. Lá você encontrará um arquivo chamado Info , abra-o e altere a chave. reinicie o bluetooth ou reinicie o seu pc e pronto. Desculpe se o inglês e a gramática estão ruins, eu estava com preguiça de verificar.

Omar Alcazar
fonte
No Windows 10, onde / como você encontra a chave?
precisa saber é o seguinte