Parowanie Bluetooth podczas podwójnego rozruchu systemu Windows i Linux Mint / Ubuntu - Przestań parować urządzenia


53

Podczas podwójnego uruchamiania systemu Windows 7/10 i Linux Mint / Ubuntu może być konieczne wielokrotne naprawianie urządzeń Bluetooth. Stanie się tak za każdym razem, gdy zmienisz system operacyjny.

Jak temu zapobiec?

Odpowiadam na moje pytanie w następującym przewodniku, który został przetestowany na Ubuntu 14.4 i Linux mint 17.2, 17.3, a teraz Linux Mint 18.x.


2
Zrobiłem to wiele razy, a kroki są niezwykle żmudne. Stworzyłem ten skrypt, aby przyspieszyć go: github.com/LondonAppDev/dual-boot-bluetooth-pair
Mark Winterbottom

Odpowiedzi:


97

Dlaczego to się dzieje?

Zasadniczo po sparowaniu urządzenia usługa Bluetooth generuje unikalny zestaw kluczy parowania. Po pierwsze, komputer przechowuje adres MAC i klucz parowania urządzenia Bluetooth. Po drugie, urządzenie Bluetooth przechowuje adres MAC komputera i odpowiedni klucz. Zwykle działa to dobrze, ale adres MAC portu Bluetooth będzie taki sam w systemie Linux i Windows (jest ustawiony na poziomie sprzętowym). Jednak po ponownym sparowaniu urządzenia w systemie Windows lub Linux generuje nowy klucz. Ten klucz zastępuje poprzednio zapisany klucz w urządzeniu Bluetooth. Windows zastępuje klucz Linux i odwrotnie.

Jak naprawić

Korzystając z poniższych instrukcji, najpierw sparujemy urządzenia Bluetooth z Ubuntu / Linux Mint, a następnie sparujemy system Windows. Następnie wrócimy do naszego systemu Linux i skopiujemy wygenerowane przez Windows klucze parowania do naszego systemu Linux.

  1. Para w / mint / ubuntu - wszystkie urządzenia
  2. Sparuj wszystkie urządzenia z systemem Windows
  3. Skopiuj klucze parowania systemu Windows na 1 z 2 sposobów.

    • Użyj psexec -s -i regedit.exez systemu Windows (trudniej)

      1. przejdź do Urządzenia i drukarki w Panelu sterowania i przejdź do właściwości urządzenia Bluetooth, a następnie w sekcji bluetooth znajdziesz unikalny identyfikator, skopiuj go (będzie potrzebny później).
      2. pobierz z Pobierz psexec z: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx .
      3. rozpakuj pobrany plik zip i otwórz terminal cmd jako root. (kliknij przycisk Start, wyszukaj cmd, a następnie kliknij prawym przyciskiem myszy CMD i kliknij Run as Administrator)
      4. cd do folderu, w którym rozpakowałeś swoje pobieranie.
      5. biegać psexec -s -i regedit.exe
      6. Przejdź, aby znaleźć klucze w polu LOCAL_MACHINE\CurrentControlSet\services\BTHPORT\Parameters\KeysJeśli nie ma CurrentControlSet, spróbuj Controlset001. W systemie Windows 10 klucze znajdziesz naHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\
      7. Powinieneś zobaczyć kilka etykiet kluczy z adresami MAC - zapisz adres MAC powiązany z unikalnym identyfikatorem, który wcześniej skopiowałeś. Nie możesz skopiować adresów MAC, a następnie napisać to ręcznie, oszczędzając w miejscu, do którego miałbyś dostęp w systemie Linux.
    • użyj chntpwz dystrybucji Linuksa (łatwiej), uruchom w terminalu, a następnie:

      1. sudo apt-get install chntpw
      2. zamontuj dysk systemu Windows
      3. cd /[windowsSystemDrive]/WINDOWS/System32/config - w Windows 10 folderem głównym jest „Windows”, w Win7 to „WINDOWS”
      4. chntpw -e SYSTEM otwiera konsolę
      5. uruchom te polecenia w tej konsoli

        > 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. Zanotuj, który adres MAC urządzenia Bluetooth odpowiada kluczowi parowania. Mint / ubuntu nie będzie potrzebował odstępów między nimi. Zignoruj:00000

  4. Wróćmy do Linuksa (jeśli nie w Linuksie) i dodaj nasz klucz systemu Windows do wpisów konfiguracji Linuxa. Zwróć uwagę, że adres mac portu Bluetooth jest inaczej sformatowany podczas przenoszenia z systemu Windows do systemu Linux - w moim przykładzie powyżej jako aa1122334455 w systemie Windows. Wersja dla systemu Linux będzie pisana wielkimi literami i przerywana „:” co 2 znaki - przykład: AA: 11: 22: 33: 44: 55. W zależności od wersji systemu Linux możesz wykonać jedną z następujących czynności:

    • Przed mennicą 18 / 16.04 można to zrobić:

      1. sudo edit /var/lib/bluetooth/[mac address of Bluetooth]/linkkeys - [adres MAC bluetooth] powinien być jedynym folderem w tym folderze bluetooth.
      2. Ten plik powinien wyglądać mniej więcej tak

        [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. Zmień klucz parowania systemu Linux na Windows jeden minus spacje.
    • W Mennicy 18 (i Ubuntu 16.04) być może będziesz musiał to zrobić:

      1. przełącz na rootowanie su -
      2. cd do lokalizacji konfiguracji bluetooth /var/lib/bluetooth/[bth port mac addresses)]
      3. Tutaj znajdziesz foldery dla każdego sparowanego urządzenia. Nazwy folderów to adresy MAC urządzeń Bluetooth i zawierają jeden plik info. W tych plikach zobaczysz klucz linku, który musisz zastąpić kluczami systemu Windows.

        [LinkKey]
        Key=B99999999FFFFFFFFF999999999FFFFF
        
  5. Po aktualizacji uruchom ponownie usługę Bluetooth sudo /etc/init.d/bluetooth restartlub uruchom ponownie system Linux - to działa!
  6. Uruchom ponownie w systemie Windows - działa!
  7. Głosuj, jeśli to zadziałało!

1
Działa, dziękuję. Przykro mi powiedzieć, że Bluetooth w Windows działa bezproblemowo. BT w Linuksie jest po prostu do bani. Używam Linux Mint 17.3 i zestaw słuchawkowy łączy się, a następnie prawie natychmiast rozłącza. Za każdym razem, gdy próbuję BT w Linuksie, walka o to, aby zadziałała.
RyanNerd

2
Przybyłem tutaj po zainstalowaniu Ubuntu 16.04LTS (dualboot z Windows) i sparowaniu już z nim mojej klawiatury i myszy. Zamiast kopiować klucz z Windows na Ubuntu, zrobiłem to w odwrotnej kolejności, używając chntpw: po zamontowaniu partycji Windows i wykonaniu wszystkich czynności chntpw @Mario Flores, ed edytuj „wartość nazwy” w terminalu chntpw. Weź „Klucz =” w pliku informacyjnym urządzenia Bluetooth na Ubuntu i wpisz go w chntpw: „: XX XX XX XX XX ....”, gdzie XX to co 2 litery / cyfry w kluczu. Następnie wpisz s, a zostanie zapisane w rejestrze. Powtórz w razie potrzeby.
Sameer Puri,

3
powinno być: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters(więc HLKM)
TiloBunt

2
Nawiasem mówiąc, jeśli masz urządzenie Bluetooth LE, będzie jeszcze kilka rzeczy do zrobienia i unix.stackexchange.com/questions/402488 może ci pomóc.
Frederick Zhang

4
W systemie Windows 10 klucze znajdziesz w folderze „Komputer \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ BTHPORT \ Parameters \ Keys”.
Thomas

0

Gdy zdobędziesz klucz urządzenia Bluetooth w systemie Windows, możesz po prostu przejść do ustawień, Bluetooth i uzyskać klucz, to prosta część. Najtrudniejsze jest to zmienić na Linuksie, używam Ubuntu i tak to zrobiłem:

zainstaluj gksu, aby uzyskać uprawnienia administratora, po prostu wpisz następującą komendę: sudo apt-get install gksu

po zainstalowaniu musisz nacisnąć ALT + F2 i wpisać gksu nautilus ( uważaj, aby zmienić tylko to, co musisz, w przeciwnym razie możesz uszkodzić system operacyjny).

Teraz przejdź do określonej lokalizacji pliku zgodnie z powyższą ścieżką odpowiedzi, tam znajdziesz plik o nazwie Informacje , otwórz go i zmień klucz. uruchom ponownie bluetooth lub uruchom ponownie komputer i gotowe. Przepraszam, jeśli źle mówię po angielsku i gramatyce, byłem zbyt leniwy, aby to sprawdzić.


W przypadku systemu Windows 10, gdzie / jak znaleźć klucz?
rickhg12hs
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.