Accoppiamento Bluetooth al doppio avvio di Windows e Linux Mint / Ubuntu - Smetti di accoppiare i dispositivi


53

Quando esegui il dual boot di Windows 7/10 e Linux Mint / Ubuntu, potresti ritrovarti a dover riparare i tuoi dispositivi Bluetooth ancora e ancora. Questo accadrà ogni volta che cambi sistema operativo.

Ora, come si fa a impedirlo?

Sto rispondendo alla mia domanda con la seguente guida, che è stata testata su Ubuntu 14.4 e Linux mint 17.2, 17.3 e ora Linux Mint 18.x.


2
L'ho fatto diverse volte e i passaggi sono estremamente noiosi. Ho creato questo script per velocizzarlo: github.com/LondonAppDev/dual-boot-bluetooth-pair
Mark Winterbottom,

Risposte:


98

Perché succede?

Fondamentalmente, quando si accoppia il dispositivo, il servizio Bluetooth genera un set unico di chiavi di associazione. Innanzitutto, il computer memorizza l'indirizzo MAC e la chiave di accoppiamento del dispositivo Bluetooth. In secondo luogo, il dispositivo Bluetooth memorizza l'indirizzo mac del computer e la chiave corrispondente. Questo di solito funziona bene, ma l'indirizzo mac per la tua porta Bluetooth sarà lo stesso su Linux e Windows (è impostato a livello hardware). Tuttavia, quando si accoppia nuovamente il dispositivo in Windows o Linux, viene generata una nuova chiave. Quella chiave sovrascrive la chiave precedentemente memorizzata sul dispositivo Bluetooth. Windows sovrascrive la chiave Linux e viceversa.

Come risolvere

Usando le istruzioni di seguito, assoceremo prima i tuoi dispositivi Bluetooth a Ubuntu / Linux Mint, quindi accopperemo Windows. Quindi torneremo nel nostro sistema Linux e copieremo le chiavi di accoppiamento generate da Windows nel nostro sistema Linux.

  1. Associa w / mint / ubuntu - tutti i dispositivi
  2. Associare tutti i dispositivi a Windows
  3. Copia le chiavi di associazione di Windows in 1 di 2 modi.

    • Usa psexec -s -i regedit.exeda windows (più difficile)

      1. vai su Dispositivo e stampanti nel Pannello di controllo e vai alle proprietà del tuo dispositivo bluetooth, quindi nella sezione bluetooth puoi trovare l'identificatore univoco, copiarlo (ne avrai bisogno in seguito).
      2. scarica da Scarica psexec da: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx .
      3. decomprimere lo zip scaricato e aprire un terminale cmd come root. (fai clic su Start, cerca cmd, quindi fai clic con il pulsante destro del mouse sulla CMD e fai clic Run as Administrator)
      4. cd nella cartella in cui hai decompresso il download.
      5. correre psexec -s -i regedit.exe
      6. Navigare per trovare le chiavi in LOCAL_MACHINE\CurrentControlSet\services\BTHPORT\Parameters\KeysSe nessun CurrentControlSet prova Controlset001. Su Windows 10, troverai le chiavi inHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\
      7. Dovresti vedere alcune etichette dei tasti con gli indirizzi MAC: annota l'indirizzo MAC associato all'identificatore univoco che hai copiato in precedenza. Non è possibile copiare i componenti aggiuntivi MAC e poi scriverli manualmente, salvando in un posto a cui si possa accedere nel sistema operativo Linux.
    • usa chntpwdalla tua distribuzione Linux (più semplice), avvia un terminale quindi:

      1. sudo apt-get install chntpw
      2. montare l'unità di sistema di Windows
      3. cd /[windowsSystemDrive]/WINDOWS/System32/config - su Windows 10 la cartella principale è "Windows", su Win7 è "WINDOWS"
      4. chntpw -e SYSTEM apre una console
      5. eseguire questi comandi in quella 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. Annotare quale indirizzo MAC del dispositivo Bluetooth corrisponde a quale chiave di associazione. Quello di mint / Ubuntu non avrà bisogno degli spazi nel mezzo. Ignora il:00000

  4. Torniamo a Linux (se non in Linux) e aggiungiamo la chiave di Windows alle voci di configurazione di Linux. Basta notare che l'indirizzo mac della porta Bluetooth è formattato in modo diverso quando si passa da Windows a Linux, indicato come aa1122334455 in Windows nel mio esempio sopra. La versione Linux sarà in maiuscolo e punteggiata da ':' dopo ogni 2 caratteri - esempio: AA: 11: 22: 33: 44: 55. In base alla tua versione di Linux, puoi eseguire una di queste operazioni:

    • Prima di Mint 18 / 16.04 potresti farlo:

      1. sudo edit /var/lib/bluetooth/[mac address of Bluetooth]/linkkeys - [l'indirizzo mac di bluetooth] dovrebbe essere l'unica cartella in quella cartella bluetooth.
      2. Questo file dovrebbe assomigliare a questo

        [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. Cambia la chiave di accoppiamento Linux con quella di Windows, meno gli spazi.
    • In Mint 18 (e Ubuntu 16.04) potresti dover fare questo:

      1. passa alla radice su -
      2. cd nella posizione di configurazione del bluetooth /var/lib/bluetooth/[bth port mac addresses)]
      3. Qui troverai le cartelle per ogni dispositivo a cui sei associato. I nomi delle cartelle sono l'indirizzo mac dei dispositivi Bluetooth e contengono un singolo file info. In questi file, vedrai la chiave di collegamento che devi sostituire con quella di Windows in questo modo.

        [LinkKey]
        Key=B99999999FFFFFFFFF999999999FFFFF
        
  5. Una volta aggiornato, riavvia il tuo servizio bluetooth sudo /etc/init.d/bluetooth restarto riavvia in Linux - funziona!
  6. Riavvia da Windows: funziona!
  7. Valuta se questo ha funzionato per te!

1
Questo funziona grazie. Triste a dirsi che il Bluetooth in Windows funziona senza problemi. BT in Linux fa schifo. Sto usando Linux Mint 17.3 e la mia cuffia si collega e quindi si disconnette quasi immediatamente. Ogni volta che provo BT in Linux, è una battaglia per farlo funzionare.
RyanNerd,

2
Sono venuto qui dopo aver appena installato Ubuntu 16.04LTS (dualboot con Windows) e aver già abbinato tastiera e mouse. Invece di copiare la chiave da Windows a Ubuntu, l'ho fatto al contrario usando chntpw: dopo aver montato la partizione di Windows e aver fatto tutto ciò che ha fatto @Mario Flores, ho fatto "nome valore" nel terminale chntpw. Prendi "Key =" nel file di informazioni del tuo dispositivo bluetooth su Ubuntu e inseriscilo in questo modo in chntpw: ": XX XX XX XX XX ...." dove XX è ogni 2 lettere / numeri nella chiave. Quindi digitare s e verrà salvato nel registro. Ripetere se necessario.
Sameer Puri,

3
dovrebbe essere: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters(così HLKM)
TiloBunt il

2
A proposito, se hai un dispositivo Bluetooth LE, ci saranno alcune altre cose da fare e unix.stackexchange.com/questions/402488 potrebbe aiutarti.
Federico Zhang,

4
In Windows 10, troverai le tue chiavi in ​​"Computer \ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ BTHPORT \ Parameters \ Keys".
Thomas,

0

Una volta ottenuta la chiave del dispositivo bluetooth in Windows, puoi semplicemente andare alle impostazioni, bluetooth e ottenere la chiave, questa è la parte facile. La parte difficile è cambiarlo su Linux, io uso Ubuntu e il modo in cui l'ho fatto è stato:

installa gksu per ottenere le autorizzazioni di amministratore, basta inserire questo comando: sudo apt-get install gksu

una volta installato devi premere ALT + F2 e digitare gksu nautilus (fai solo attenzione a cambiare solo quello che devi fare, altrimenti potresti danneggiare il tuo sistema operativo.)

Ora, vai nella posizione specifica del file seguendo il percorso di risposta sopra, lì troverai un file chiamato Info , aprilo e cambia la chiave. riavviare il bluetooth o riavviare il PC e il gioco è fatto. Scusate se l'inglese e la grammatica sono cattivi, ero troppo pigro per controllarlo.


Per Windows 10, dove / come si trova la chiave?
rickhg12hs
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.