Bluetooth-Pairing beim Dual-Boot von Windows & Linux Mint / Ubuntu - Sie müssen keine Geräte mehr koppeln

52

Beim Dual-Booten von Windows 7/10 und Linux Mint / Ubuntu müssen Sie möglicherweise Ihre Bluetooth-Geräte immer wieder reparieren. Dies geschieht jedes Mal, wenn Sie das Betriebssystem wechseln.

Wie verhindern Sie das?

Ich beantworte meine eigene Frage mit der folgenden Anleitung, die auf Ubuntu 14.4 und Linux Mint 17.2, 17.3 und jetzt Linux Mint 18.x getestet wurde.

Mario Olivio Flores
quelle
2
Ich habe das schon einige Male gemacht und die Schritte sind extrem langweilig. Ich habe dieses Skript erstellt, um es zu beschleunigen: github.com/LondonAppDev/dual-boot-bluetooth-pair
Mark Winterbottom

Antworten:

96

Warum passiert das?

Grundsätzlich generiert Ihr Bluetooth-Dienst beim Koppeln Ihres Geräts einen eindeutigen Satz von Koppelschlüsseln. Zunächst speichert Ihr Computer die Mac-Adresse und den Pairing-Schlüssel des Bluetooth-Geräts. Zweitens speichert Ihr Bluetooth-Gerät die Mac-Adresse Ihres Computers und den passenden Schlüssel. Dies funktioniert normalerweise einwandfrei, aber die Mac-Adresse für Ihren Bluetooth-Anschluss ist unter Linux und Windows gleich (sie wird auf Hardwareebene festgelegt). Wenn Sie das Gerät jedoch unter Windows oder Linux erneut koppeln, wird ein neuer Schlüssel generiert. Dieser Schlüssel überschreibt den zuvor auf dem Bluetooth-Gerät gespeicherten Schlüssel. Windows überschreibt den Linux-Schlüssel und umgekehrt.

Wie repariert man

Anhand der folgenden Anweisungen koppeln wir zuerst Ihre Bluetooth-Geräte mit Ubuntu / Linux Mint und dann Windows. Dann kehren wir in unser Linux-System zurück und kopieren die von Windows generierten Pairing-Schlüssel in unser Linux-System.

  1. Pair w / mint / ubuntu - alle Geräte
  2. Koppeln Sie alle Geräte mit Windows
  3. Kopieren Sie Ihre Windows-Pairing-Schlüssel auf zwei Arten.

    • Verwendung psexec -s -i regedit.exevon Windows (härter)

      1. Gehen Sie in der Systemsteuerung zu "Gerät und Drucker" und gehen Sie zu den Eigenschaften Ihres Bluetooth-Geräts. Im Abschnitt "Bluetooth" finden Sie die eindeutige Kennung. Kopieren Sie diese Kennung (Sie benötigen sie später).
      2. Herunterladen von Laden Sie psexec von folgender Adresse herunter: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx .
      3. entpacke die zip die du heruntergeladen hast und öffne ein cmd terminal als root. (Klicken Sie auf Start, suchen Sie nach cmd, klicken Sie mit der rechten Maustaste auf die CMD und klicken Sie dann auf. Run as Administrator)
      4. CD in den Ordner, in den Sie Ihren Download entpackt haben.
      5. Lauf psexec -s -i regedit.exe
      6. Navigieren Sie zu den Schlüsseln unter LOCAL_MACHINE\CurrentControlSet\services\BTHPORT\Parameters\KeysWenn kein CurrentControlSet vorhanden, versuchen Sie es Controlset001. Unter Windows 10 finden Sie die Schlüssel unterHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\
      7. Sie sollten einige Tastenbeschriftungen mit den MAC-Adressen sehen - notieren Sie sich die MAC-Adresse, die der zuvor kopierten eindeutigen Kennung zugeordnet ist. Sie können die MAC-Adressen nicht kopieren und dann manuell ausschreiben. Speichern Sie sie an einem Ort, auf den Sie in Ihrem Linux-Betriebssystem zugreifen können.
    • Verwenden Sie chntpwvon Ihrer Linux-Distribution (einfacher), starten Sie in einem Terminal dann:

      1. sudo apt-get install chntpw
      2. Hängen Sie Ihr Windows-Systemlaufwerk ein
      3. cd /[windowsSystemDrive]/WINDOWS/System32/config - Unter Windows 10 lautet der Stammordner "Windows", unter Win7 "WINDOWS".
      4. chntpw -e SYSTEM öffnet eine Konsole
      5. Führen Sie diese Befehle in dieser Konsole aus

        > 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. Notieren Sie sich, welche MAC-Adresse des Bluetooth-Geräts mit welchem ​​Schlüssel übereinstimmt. Für die Minze / Ubuntu werden die Zwischenräume nicht benötigt. Ignoriere das:00000

  4. Kehren wir zu Linux zurück (falls nicht unter Linux) und fügen unseren Linux-Konfigurationseinträgen unseren Windows-Schlüssel hinzu. Beachten Sie, dass die Mac-Adresse des Bluetooth-Anschlusses beim Wechsel von Windows zu Linux anders formatiert ist - in meinem obigen Beispiel unter Windows als aa1122334455 bezeichnet. Die Linux-Version ist in Großbuchstaben und wird nach jeweils 2 Zeichen mit einem ':' unterbrochen - Beispiel: AA: 11: 22: 33: 44: 55. Basierend auf Ihrer Linux-Version können Sie eine der folgenden Aktionen ausführen:

    • Vor Mint 18 / 16.04 konnten Sie dies tun:

      1. sudo edit /var/lib/bluetooth/[mac address of Bluetooth]/linkkeys - [die MAC-Adresse von Bluetooth] sollte der einzige Ordner in diesem Bluetooth-Ordner sein.
      2. Diese Datei sollte ungefähr so ​​aussehen

        [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. Ändern Sie den Linux-Pairing-Schlüssel in den Windows-Schlüssel, abzüglich der Leerzeichen.
    • In Mint 18 (und Ubuntu 16.04) müssen Sie dies möglicherweise tun:

      1. Wechseln Sie zu root su -
      2. cd zu ihrem bluetooth config ort /var/lib/bluetooth/[bth port mac addresses)]
      3. Hier finden Sie Ordner für jedes Gerät, mit dem Sie gekoppelt haben. Die Ordnernamen sind die MAC-Adresse des Bluetooth-Geräts und enthalten eine einzelne Datei info. In diesen Dateien sehen Sie den Verknüpfungsschlüssel, den Sie durch einen Windows-Schlüssel ersetzen müssen.

        [LinkKey]
        Key=B99999999FFFFFFFFF999999999FFFFF
        
  5. Starten Sie nach dem Update Ihren Bluetooth-Dienst neu sudo /etc/init.d/bluetooth restartoder starten Sie Linux neu - es funktioniert!
  6. In Windows neu starten - es funktioniert!
  7. Stimmen Sie zu, wenn dies für Sie funktioniert hat!
Mario Olivio Flores
quelle
1
Das funktioniert danke. Leider funktioniert Bluetooth unter Windows problemlos. BT in Linux ist einfach beschissen. Ich verwende Linux Mint 17.3 und mein Headset verbindet sich und trennt sich dann fast sofort. Jedes Mal, wenn ich BT unter Linux ausprobiere, ist es ein Kampf, es zum Laufen zu bringen.
RyanNerd
2
Ich kam hierher, nachdem ich Ubuntu 16.04LTS (Dualboot mit Windows) installiert und meine Tastatur und Maus bereits damit gekoppelt hatte. Anstatt den Schlüssel von Windows nach Ubuntu zu kopieren, habe ich ihn in umgekehrter Reihenfolge mit chntpw gemacht: Nachdem Sie Ihre Windows-Partition gemountet und das gesamte chntpw-Zeug von @Mario Flores ausgeführt haben, haben Sie im chntpw-Terminal den Wert "name" eingegeben. Nehmen Sie das "Key =" in die Infodatei Ihres Bluetooth-Geräts auf Ubuntu und geben Sie es wie folgt in chntpw ein: ": XX XX XX XX XX ...." wobei XX alle 2 Buchstaben / Zahlen im Schlüssel ist. Dann geben Sie s ein und es wird in der Registrierung gespeichert. Bei Bedarf wiederholen.
Sameer Puri
3
sollte es sein: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters(so HLKM)
TiloBunt
2
Übrigens, wenn Sie ein Bluetooth LE-Gerät haben, müssen Sie noch ein paar Dinge erledigen, und unix.stackexchange.com/questions/402488 kann Ihnen möglicherweise helfen.
Frederick Zhang
4
In Windows 10 finden Sie Ihre Schlüssel unter "Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ BTHPORT \ Parameters \ Keys".
Thomas
0

Sobald Sie den Schlüssel des Bluetooth-Geräts in Windows erhalten haben, können Sie einfach zu Einstellungen, Bluetooth wechseln und den Schlüssel abrufen, das ist der einfache Teil. Das Schwierige ist, es unter Linux zu ändern. Ich benutze Ubuntu und es war so, wie ich es getan habe:

Installieren Sie gksu, um Administratorrechte zu erhalten. Geben Sie einfach den folgenden Befehl ein: sudo apt-get install gksu

Nach der Installation müssen Sie ALT + F2 drücken und gksu nautilus eingeben ( Passen Sie nur auf, dass Sie nur das ändern, was Sie müssen, sonst können Sie Ihr Betriebssystem beschädigen.)

Gehen Sie nun zu dem bestimmten Speicherort der Datei und folgen Sie dem obigen Antwortpfad. Dort finden Sie eine Datei mit dem Namen Info , öffnen Sie sie und ändern Sie den Schlüssel. starte das bluetooth neu oder starte deinen pc neu und fertig. Tut mir leid, wenn Englisch und Grammatik schlecht waren, ich war zu faul, um es zu überprüfen.

Omar Alcazar
quelle
Wo / wie finden Sie den Schlüssel für Windows 10?
rickhg12hs