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

30

Ao fazer o boot duplo do Windows 7/10 e do Linux Mint / Ubuntu, você pode ter que reparar seus dispositivos Bluetooth de novo e de novo. Isso acontecerá toda vez que você trocar o SO.

Agora, como você evita isso?

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

    
por Mario Olivio Flores 15.01.2016 / 12:21

2 respostas

59

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.

  1. Parear w / mint / ubuntu - todos os dispositivos
  2. Emparelhar todos os dispositivos com janelas
  3. Copie as chaves de pareamento do Windows de 1 a 2 maneiras.

    • Use psexec -s -i regedit.exe das janelas (mais difícil)
      1. faça o download em Download psexec de: link .
      2. 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 em Run as Administrator )
      3. cd na pasta onde você descompactou o download.
      4. executar psexec -s -i regedit.exe
      5. Navegue até encontrar as chaves em LOCAL_MACHINE\CurrentControlSet\services\BTHPORT\Parameters\Keys Se nenhum CurrentControlSet tentar Controlset001 .
      6. 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:

      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 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

  4. 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:

      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 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
        
      3. 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:

      1. mudar para root su -
      2. cd para o seu local de configuração do bluetooth /var/lib/bluetooth/[bth port mac addresses)]
      3. 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
        
  5. Uma vez atualizado, reinicie seu serviço bluetooth sudo /etc/init.d/bluetooth restart ou reinicie no linux - ele funciona!
  6. Reinicie no Windows - funciona!
  7. Upvote se isso funcionou para você!
por 15.01.2016 / 12:21
0

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

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

uma vez instalado, você tem que pressionar ALT + F2 e digitar nautilus gksu (apenas tenha cuidado para alterar apenas o que você precisa, caso contrário você pode danificar seu SO).

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 gramática ruim, eu estava com preguiça de verificar isso.

    
por 24.01.2017 / 22:19