Pada komputer yang terpasang dua sistem operasi dengan pengaturan dual boot, semisal Linux dan Windows, pasti pernah mengalami kejadian di mana perangkat Bluetooth seperti Speaker, Mouse, dan sebagainya, yang sebelumnya di-pairing di Windows harus di-pairing ulang ketika menggunakan Linux, dan sebaliknya.
Hal ini disebabkan karena ketika melakukan proses pairing, perangkat menyimpan nomor MAC beserta kode pairing untuk mengidentifikasi dan mengijinkan koneksi perangkat yang sudah ter-pairing sebelumnya. Karena nomor MAC tercatat pada hardware, perangkat menganggap bahwa proses pairing di Linux dan Windows adalah proses pairing antara perangkat yang sama, sehingga kode pairing yang tersimpan sebelumnya akan terhapus dan digantikan dengan hasil pairing terakhir.
Padahal setiap kali pairing baik Windows maupun Linux akan menghasilkan dan menyimpan kode pairing yang berbeda. Inilah sebabnya perangkat Bluetooth menjadi tidak bisa terhubung ketika berpindah sistem operasi sekalipun sudah di-pairing sebelumnya.
Dari uraian di atas terlihat jelas bahwa masalah ini bisa diselesaikan jika kita bisa menyamakan kode pairing yang tersimpan di kedua sistem operasi.
Berikut ini cara yang bisa dilakukan untuk komputer dengan dual boot Ubuntu dan Windows.
Catatan: Jika perangkat Bluetooth memiliki fitur BLE (Bluetooth Low Energy), langkah-langkahnya sedikit berbeda dan kamu bisa baca artikelnya di sini.
Lakukan pairing di kedua sistem operasi
Pertama-tama pairing di Ubuntu, kemudian dilanjutkan dengan pairing di Windows.
Urutan ini penting agar kode pairing yang tersimpan di Speaker, Mouse, atau perangkat Bluetooth adalah kode yang ter-pairing terakhir dengan Windows. Ini karena meng-copy kode dari Windows ke Linux lebih mudah dilakukan ketimbang sebaliknya.
Cari dan dapatkan kode pairing pada Windows
Ini bisa dilakukan dari Ubuntu dengan bantuan program chntpw.
- Pertama-tama instal program tersebut:
sudo apt install chntpw
- Lakukan mount disk drive Windows. Untuk mudahnya bisa buka aplikasi Disks, cari volume dimana Windows terpasang, lalu tekan tombol Mount.
- Pindah ke direktori berikut:
cd (lokasi mount-point Windows)/Windows/System32/config
- Buka konsol chntpw pada direktori tersebut:
chntpw -e SYSTEM
- Pada konsol chntpw, lakukan perintah
ls
lalu cari subkey dengan nama <CurrentControlSet> atau <ControlSetXXX>ls Node has 17 subkeys and 0 values key name &li;ActivationBroker> &li;ControlSet001> &li;DriverDatabase> &li;HardwareConfig> &li;Input> ...
- Pindah ke subkey di dalam ControlSet tersebut:
cd ControlSet001\Services\BTHPORT\Parameters\Keys
- Jalankan lagi
ls
untuk mengetahui nomor MAC port Bluetooth pada komputer:ls Node has 1 subkeys and 0 values key name <e8f40839d72f>
- Pindah ke subkey tersebut:
cd e8f40839d72f
- Jalankan lagi
ls
untuk melihat daftar nomor MAC yang ter-pairing di Windows:ls Node has 1 subkeys and 3 values key name
size type value name [value if type DWORD] 16 3 REG_BINARY <MasterIRK> 16 3 REG_BINARY <e417d88a8805> 16 3 REG_BINARY <0452c7b0a18f> - Cari value name yang cocok dengan nomor MAC perangkat Bluetooth. Misalnya pada contoh di atas perangkat Speaker memiliki nomor Bluetooth 04:52:C7:B0:A1:8F, maka gunakan perintah
hex
pada baris ketiga untuk mendapatkan kode pairing-nya:hex 0452c7b0a18f Value <0452c7b0a18f> of type REG_BINARY (3), data length 16 [0x10] :00000 70 D8 26 E5 8C 66 14 B1 FB 2A FC B7 22 55 EF A8 p.&..f...*.."U..
Di Ubuntu, nomor MAC perangkat bisa dilihat dari System Settings → Bluetooth lalu klik perangkat yang dimaksud dan cek kolom Address.
Catatan: Jika nomor MAC yang dicari merupakan subkey dan ada di kolom <key name>, ini berarti perangkat tersebut menggunakan metode pairing yang lebih baru. Silakan baca penjelasan tahap-tahapnya di artikel cara pairing untuk Bluetooth BLE.
- Gunakan perintah
q
untuk keluar dari konsol.q
Pada tahap ke-10 terdapat 16 pasang bilangan heksadesimal (70 D8 26 E5 8C 66 14 B1 FB 2A FC B7 22 55 EF A8) yang merupakan kode pairing pada windows. Catat kode ini.
Mengubah kode pairing di Ubuntu
Lakukan tahap-tahap ini di Terminal untuk mencari dan mengubah kode pairing di Ubuntu.
- Pindah konteks ke
root
:sudo su
- Pindah ke direktori perangkat bluetooth berikut:
cd /var/lib/bluetooth/(nomor MAC port Bluetooth)/(nomor MAC perangkat)
Nomor MAC bluetooth bisa dilihat di tahap ke-7 pada langkah sebelumnya di atas. Pada tahap ke-7 contoh di atas didapatkan key, maka direktori nomor MAC yang dimaksud di Ubuntu adalah E8:F4:08:39:D7:2F
Sedangkan Nomor MAC perangkat sesuai dengan yang dicari pada tahap ke-10 di atas, dalam contoh ini yaitu04:52:C7:B0:A1:8F
. - Gunakan aplikasi pengedit teks seperti
nano
untuk mengubah file “info” yang terdapat dalam direktori tersebut:nano info
Lalu cari baris berikut dan ubah nilainya dengan kode pairing yang diperoleh pada langkah sebelumnya:
[LinkKey] Key=5175B4BCF2ED203728432A652ABB4955
Isikan dengan 16 pasang bilangan heksadesimal tanpa spasi.
Restart service Bluetooth dan hubungkan perangkat
Restart komputer atau restart service Bluetooth dengan systemctl restart bluetooth
lalu coba hubungkan perangkat.
Selamat perangkat Bluetooth sekarang sudah bisa terhubung baik pada Windows maupun Linux tanpa harus pairing ulang!