Při duálním spouštění systému Windows 7/10 a Linux Mint/Ubuntu se může stát, že budete muset svá zařízení Bluetooth znovu a znovu spárovat. To se stane pokaždé, když přepnete OS.
Jak tomu nyní zabráníte?
Na svou vlastní otázku odpovídám následujícím průvodcem, který byl testován na Ubuntu 14.4 a Linux Mint 17.2, 17.3 a nyní Linux Mint 18.x .
Přijatá odpověď:
Proč se to děje?
V zásadě, když spárujete své zařízení, vaše služba Bluetooth vygeneruje jedinečnou sadu párovacích klíčů. Nejprve váš počítač uloží MAC adresu zařízení Bluetooth a párovací klíč. Za druhé, vaše zařízení Bluetooth ukládá MAC adresu vašeho počítače a odpovídající klíč. To obvykle funguje dobře, ale MAC adresa vašeho Bluetooth portu bude stejná v Linuxu i ve Windows (nastavuje se na úrovni hardwaru). Když tedy znovu spárujete zařízení v systému Windows nebo Linux a vygeneruje nový klíč, tento klíč přepíše dříve uložený klíč na zařízení Bluetooth. Windows přepíše klíč Linux a naopak.
Zařízení Bluetooth LE: Ty se mohou spárovat různě. Sám jsem to nezkoumal, ale může to pomoci při párování zařízení Dual Boot Bluetooth LE (nízká energie)
Jak opravit
Pomocí níže uvedených pokynů nejprve spárujeme vaše zařízení Bluetooth s Ubuntu/Linux Mint a poté spárujeme Windows. Poté se vrátíme do našeho systému Linux a zkopírujeme párovací klíč (klíče) vygenerovaný systémem Windows do našeho systému Linux.
- Spárujte všechna zařízení s Mint/Ubuntu
- Spárujte všechna zařízení s Windows
- Zkopírujte párovací klíče systému Windows jedním ze dvou způsobů:
-
Použijte
psexec -s -i regedit.exe
z Windows (těžší)- V Ovládacích panelech přejděte do části Zařízení a tiskárny a přejděte do vlastností zařízení Bluetooth. Poté v sekci Bluetooth najdete jedinečný identifikátor. Zkopírujte to (budete to potřebovat později).
- Stáhněte si PsExec z http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx.
- Rozbalte stažený zip a otevřete okno cmd se zvýšenými oprávněními. (Klikněte na nabídku Start, vyhledejte
cmd
, poté klikněte pravým tlačítkem na CMD a klikněte na „Spustit jako správce“.) - CD do složky, kde jste rozbalili stažené soubory.
- Spusťte
psexec -s -i regedit.exe
- Najděte klíče na
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesBTHPORTParametersKeys
.
Pokud neexistujeCurrentControlSet
, zkusteControlSet001
. - Měli byste vidět několik štítků klíčů s adresami MAC – zapište si adresu MAC spojenou s jedinečným identifikátorem, který jste předtím zkopírovali.
-
Použijte
chntpw
z vaší linuxové distribuce (snazší). Začněte v terminálu a poté:-
sudo apt-get install chntpw
-
Připojte svůj systémový disk Windows
-
cd /[WindowsSystemDrive]/Windows/System32/config
-
chntpw -e SYSTEM
otevře konzolu -
Spusťte tyto příkazy v této konzole:
> 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
-
Poznamenejte si, která MAC adresa zařízení Bluetooth odpovídá kterému párovacímu klíči. Mint/Ubuntu nebude mezi tím potřebovat mezery. Ignorujte
:00000
.
-
-
- Vraťte se do Linuxu (pokud ne v Linuxu) a přidejte náš klíč Windows do našich konfiguračních položek pro Linux. Všimněte si, že MAC adresa portu Bluetooth je při přechodu z Windows na Linux naformátována jinak – v mém výše uvedeném příkladu je ve Windows označena jako aa1122334455.
Verze pro Linux bude napsána velkými písmeny a po každých dvou znacích bude přerušena ':' – například AA:11:22:33:44:55.
Na základě vaší verze Linuxu můžete provést jednu z těchto akcí:- Před Mint 18/16.04 můžete provést toto:
-
sudo edit /var/lib/bluetooth/[MAC address of Bluetooth]/linkkeys
– [adresa MAC zařízení Bluetooth] by měla být jedinou složkou v této složce Bluetooth. -
Tento soubor by měl vypadat nějak takto:
[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
-
Změňte párovací klíč Linuxu na klíč pro Windows bez mezer.
-
- V Mint 18 (a Ubuntu 16.04) možná budete muset udělat toto:
-
Přepnout na root:
su -
-
cd do umístění konfigurace Bluetooth
/var/lib/bluetooth/[bth port MAC addresses]
-
Zde najdete složky pro každé zařízení, se kterým jste spárovali. Názvy složek představují MAC adresy zařízení Bluetooth a obsahují jeden soubor
info
. V těchto souborech uvidíte klíč odkazu, který musíte nahradit klíči pro Windows, například takto:[LinkKey] Key=B99999999FFFFFFFFF999999999FFFFF
-
- Před Mint 18/16.04 můžete provést toto:
- Po aktualizaci restartujte službu Bluetooth jedním z následujících způsobů a bude to fungovat!
-
Ubuntu, Mint, Arch:
sudo systemctl restart Bluetooth
-
Případně restartujte počítač na Linux.
-
- Restartujte do systému Windows – funguje to!