GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Linux – Accoppiamento Bluetooth su doppio avvio di Windows e Linux Mint/ubuntu – Smetti di dover accoppiare i dispositivi?

Quando esegui il dual boot di Windows 7/10 e Linux Mint/Ubuntu, potresti ritrovarti a dover riassociare i tuoi dispositivi Bluetooth ancora e ancora. Ciò accadrà ogni volta che cambi OS.

Ora, come lo previeni?

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 .

Risposta accettata:

Perché succede?

Fondamentalmente, quando accoppi il tuo dispositivo, il tuo servizio Bluetooth genera un set univoco di chiavi di associazione. Innanzitutto, il computer memorizza l'indirizzo MAC e la chiave di associazione del dispositivo Bluetooth. In secondo luogo, il tuo dispositivo Bluetooth memorizza l'indirizzo MAC del tuo computer e la chiave corrispondente. Di solito funziona bene, ma l'indirizzo MAC per la tua porta Bluetooth sarà lo stesso sia su Linux che su Windows (è impostato a livello hardware). Pertanto, quando si riassocia il dispositivo in Windows o Linux e viene generata una nuova chiave, tale chiave sovrascrive la chiave precedentemente memorizzata sul dispositivo Bluetooth. Windows sovrascrive la chiave Linux e viceversa.

Dispositivi Bluetooth LE: Questi possono accoppiarsi in modo diverso. Non ho indagato personalmente, ma questo potrebbe aiutare l'accoppiamento del dispositivo Dual Boot Bluetooth LE (a basso consumo energetico)

Come risolvere

Utilizzando le istruzioni seguenti, accoppieremo prima i tuoi dispositivi Bluetooth con Ubuntu/Linux Mint, quindi accoppieremo Windows. Quindi torneremo nel nostro sistema Linux e copieremo le chiavi di accoppiamento generate da Windows nel nostro sistema Linux.

  1. Accoppia tutti i dispositivi con Mint/Ubuntu
  2. Accoppia tutti i dispositivi con Windows
  3. Copia le chiavi di associazione di Windows in uno dei due modi seguenti:
    • Usa psexec -s -i regedit.exe da 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. Copialo (ti servirà in seguito).
      2. Scarica PsExec da http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx.
      3. Decomprimi lo zip che hai scaricato e apri una finestra di cmd con privilegi elevati. (Fai clic sul menu Start, cerca cmd , quindi fai clic con il pulsante destro del mouse sul CMD e fai clic su "Esegui come amministratore".)
      4. cd nella cartella in cui hai decompresso il download.
      5. Esegui psexec -s -i regedit.exe
      6. Naviga per trovare le chiavi in ​​HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesBTHPORTParametersKeys .
        Se non è presente CurrentControlSet , prova ControlSet001 .
      7. Dovresti vedere alcune etichette di chiavi con gli indirizzi MAC:annota l'indirizzo MAC associato all'identificatore univoco che hai copiato in precedenza.
    • Usa chntpw dalla tua distribuzione Linux (più semplice). Inizia in un terminale, quindi:

      1. sudo apt-get install chntpw

      2. Monta l'unità di sistema Windows

      3. cd /[WindowsSystemDrive]/Windows/System32/config

      4. chntpw -e SYSTEM apre una console

      5. Esegui questi comandi in quella console:

        > cd CurrentControlSetServicesBTHPORTParametersKeys
        > # if there is 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 the 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. Prendere nota di quale indirizzo MAC del dispositivo Bluetooth corrisponde a quale chiave di associazione. Quello menta/Ubuntu non avrà bisogno degli spazi intermedi. Ignora il :00000 .

  4. Torna su Linux (se non in Linux) e aggiungi la nostra chiave Windows alle nostre voci di configurazione Linux. Nota solo 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 due caratteri – ad 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 potevi fare questo:
      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 di Linux in 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 Bluetooth /var/lib/bluetooth/[bth port MAC addresses]

      3. Qui troverai le cartelle per ogni dispositivo con cui hai accoppiato. I nomi delle cartelle sono gli indirizzi MAC dei dispositivi Bluetooth e contengono un unico file info . In questi file vedrai la chiave di collegamento che devi sostituire con quelle di Windows, in questo modo:

        [LinkKey]
        Key=B99999999FFFFFFFFF999999999FFFFF
        
  5. Una volta aggiornato, riavvia il servizio Bluetooth in uno dei seguenti modi e funziona!
    • Ubuntu, Mint, Arch:

      sudo systemctl restart Bluetooth 
      
    • In alternativa, riavvia la macchina in Linux.

  6. Riavvia in Windows:funziona!
Relazionato:I 30 migliori trucchi per la shell di Linux cheat sheet
Ubuntu
  1. Installa Linux Mint con Windows 8 | Dual Boot Windows 8 e Linux Mint 12

  2. Correggi il tempo errato in Windows 11 che esegue il dual boot con Ubuntu Linux

  3. Dual Boot Ubuntu e Windows 10

  4. Aiuto per il doppio avvio di Windows 7/ubuntu??

  5. Come eseguire il dual boot di Windows XP e Ubuntu?

Come installare Ubuntu 18.04 insieme a Windows 10 o 8 in Dual Boot

Dual Boot Linux Mint 18/18.2 e Windows 10

Dual Boot Ubuntu e Arch Linux

Come eseguire il dual boot di Linux Mint e Windows 10 [Guida per principianti]

Come installare Windows dopo Ubuntu Linux in Dual Boot

Perché non riesco a eseguire il dual boot di Windows 10 con Ubuntu 18.04?