Jumelage Bluetooth lors du double démarrage de Windows et de Linux Mint / Ubuntu - Ne plus avoir à jumeler des périphériques


53

Lors du double démarrage de Windows 7/10 et de Linux Mint / Ubuntu, vous devrez peut-être réparer votre appareil Bluetooth encore et encore. Cela se produira chaque fois que vous changez de système d'exploitation.

Maintenant, comment empêchez-vous cela?

Je réponds à ma propre question avec le guide suivant, qui a été testé sur Ubuntu 14.4 et Linux mint 17.2, 17.3 et maintenant Linux Mint 18.x.


2
Je l'ai fait plusieurs fois et les étapes sont extrêmement fastidieuses. J'ai créé ce script pour accélérer le processus
Mark Winterbottom

Réponses:


98

Pourquoi cela arrive-t-il?

Fondamentalement, lorsque vous associez votre appareil, votre service Bluetooth génère un ensemble unique de clés d’appariement. Tout d’abord, votre ordinateur stocke l’adresse MAC et la clé de couplage du périphérique Bluetooth. Deuxièmement, votre périphérique Bluetooth stocke l'adresse MAC de votre ordinateur et la clé correspondante. Cela fonctionne généralement bien, mais l’adresse Mac de votre port Bluetooth sera la même sous Linux et Windows (elle est définie au niveau du matériel). Toutefois, lorsque vous reliez le périphérique sous Windows ou Linux, une nouvelle clé est générée. Cette clé remplace la clé précédemment stockée sur le périphérique Bluetooth. Windows écrase la clé Linux et inversement.

Comment réparer

En suivant les instructions ci-dessous, nous allons d'abord coupler vos périphériques Bluetooth avec Ubuntu / Linux Mint, puis Windows. Ensuite, nous allons revenir dans notre système Linux et copier les clés de couplage générées par Windows dans notre système Linux.

  1. Pair w / mint / ubuntu - tous les appareils
  2. Associez tous les appareils avec Windows
  3. Copiez vos clés de pairage Windows de l’une des deux manières suivantes.

    • Utiliser à psexec -s -i regedit.exepartir de Windows (plus difficile)

      1. Accédez à Périphériques et imprimantes dans le Panneau de configuration et accédez aux propriétés de votre périphérique Bluetooth. Dans la section Bluetooth, vous trouverez l'identificateur unique et copiez-le (vous en aurez besoin ultérieurement).
      2. télécharger à partir de Télécharger psexec à partir de: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx .
      3. Décompressez le zip que vous téléchargez et ouvrez un terminal cmd en tant que root. (cliquez sur Démarrer, recherchez cmd, puis cliquez avec le bouton droit de la souris sur le CMD et cliquez Run as Administrator)
      4. cd dans le dossier où vous avez décompressé votre téléchargement.
      5. courir psexec -s -i regedit.exe
      6. Naviguez pour trouver les clés sur LOCAL_MACHINE\CurrentControlSet\services\BTHPORT\Parameters\KeysSi aucune tentative CurrentControlSet Controlset001. Sous Windows 10, vous trouverez les clés surHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\
      7. Vous devriez voir quelques étiquettes de clés avec les adresses MAC - notez l'adresse MAC associée à l'identifiant unique que vous avez déjà copié. Vous ne pouvez pas copier les adresses MAC, puis les écrire à la main, en les sauvegardant dans un emplacement auquel vous pourriez accéder dans votre système d'exploitation Linux.
    • utilisez chntpwdepuis votre distribution Linux (plus facile), démarrez dans un terminal puis:

      1. sudo apt-get install chntpw
      2. montez votre lecteur système Windows
      3. cd /[windowsSystemDrive]/WINDOWS/System32/config - sous Windows 10, le dossier racine est "Windows", sous Win7, il est "WINDOWS"
      4. chntpw -e SYSTEM ouvre une console
      5. lancer ces commandes dans cette 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. Notez quelle adresse MAC de périphérique Bluetooth correspond à quelle clé de couplage. La menthe / ubuntu on n'a pas besoin d'espaces entre-deux. Ignore le:00000

  4. Revenons à Linux (si ce n'est sous Linux) et ajoutons notre clé Windows à nos entrées de configuration Linux. Notez simplement que l'adresse MAC du port Bluetooth est formatée différemment lorsque vous passez de Windows à Linux - référencé sous aa1122334455 dans Windows dans mon exemple ci-dessus. La version Linux sera en majuscule et ponctuée de ':' tous les 2 caractères - exemple: AA: 11: 22: 33: 44: 55. En fonction de votre version de Linux, vous pouvez effectuer l’une des opérations suivantes:

    • Avant la menthe 18 / 16.04, vous pouviez le faire:

      1. sudo edit /var/lib/bluetooth/[mac address of Bluetooth]/linkkeys - [l'adresse mac de Bluetooth] devrait être le seul dossier de ce dossier Bluetooth.
      2. Ce fichier devrait ressembler à quelque chose comme ça

        [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. Remplacez la clé de couplage Linux par celle de Windows, moins les espaces.
    • Dans Mint 18 (et Ubuntu 16.04), vous devrez peut-être faire ceci:

      1. passer à la racine su -
      2. Cd à votre emplacement de configuration Bluetooth /var/lib/bluetooth/[bth port mac addresses)]
      3. Vous trouverez ici des dossiers pour chaque appareil que vous avez associé. Les noms de dossier étant l’adresse Mac des périphériques Bluetooth et contiennent un seul fichier info. Dans ces fichiers, vous verrez la clé de lien que vous devez remplacer par celle de Windows, comme ça.

        [LinkKey]
        Key=B99999999FFFFFFFFF999999999FFFFF
        
  5. Une fois mis à jour, redémarrez votre service Bluetooth sudo /etc/init.d/bluetooth restartou redémarrez sous Linux - cela fonctionne!
  6. Redémarrez dans Windows - ça marche!
  7. Upvote si cela a fonctionné pour vous!

1
Cela fonctionne merci. Triste à dire que Bluetooth sous Windows fonctionne sans problème. BT sous Linux est nul. J'utilise Linux Mint 17.3 et mon oreillette se connecte puis se déconnecte presque immédiatement. Chaque fois que j'essaie de BT sous Linux, c'est une bataille pour le faire fonctionner.
RyanNerd

2
Je suis arrivé ici après avoir installé Ubuntu 16.04LTS (double démarrage avec Windows) et déjà associé mon clavier et ma souris. Au lieu de copier la clé de Windows vers Ubuntu, je l’ai fait à l’inverse en utilisant chntpw: Après avoir monté votre partition Windows et fait tout ce que chntpw avait fait @Mario Flores, il a créé "nom de valeur" dans le terminal chntpw. Prenez la "Key =" dans le fichier d’information de votre périphérique Bluetooth sur Ubuntu et entrez-la comme ceci dans chntpw: ": XX XX XX XX XX ...." où XX est toutes les 2 lettres / chiffres de la clé. Ensuite, tapez s et il sera enregistré dans le registre. Répétez si nécessaire.
Sameer Puri

3
devrait-il être: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters(donc HLKM)
TiloBunt

2
À propos, si vous avez un périphérique Bluetooth LE, il y aura quelques tâches supplémentaires à faire et unix.stackexchange.com/questions/402488 peut vous aider.
Frederick Zhang

4
Sous Windows 10, vous trouverez vos clés dans "Ordinateur \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ BTHPORT \ Paramètres \ Clés".
Thomas

0

Une fois que vous avez obtenu la clé du périphérique Bluetooth dans Windows, vous pouvez simplement accéder aux paramètres, Bluetooth, et obtenir leur clé, c’est la partie la plus facile. La partie difficile est de changer cela sur Linux, j’utilise Ubuntu et je l’ai fait comme ça:

installez gksu pour obtenir les permissions d'administrateur, il suffit de mettre cette commande: sudo apt-get install gksu

une fois installé, vous devez appuyer sur ALT + F2 et taper gksu nautilus (attention à ne changer que ce que vous avez à faire, sinon vous pourriez endommager votre système d'exploitation.)

Maintenant, allez à l’emplacement spécifique du fichier en suivant le chemin de réponse ci-dessus, vous y trouverez un fichier appelé Info , ouvrez-le et modifiez la clé. redémarrez le bluetooth ou redémarrez votre pc et c'est fait. Désolé si mal l'anglais et la grammaire, j'étais trop paresseux pour le vérifier.


Sous Windows 10, où / comment trouvez-vous la clé?
rickhg12hs
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.