Artikel ini merupakan kelanjutan dari artikel sebelumnya mengenai cara pairing Bluetooth pada komputer dengan dual boot. Pada artikel sebelumnya telah dibahas bagaimana cara melakukan pairing perangkat Bluetooth agar bisa digunakan pada konfigurasi dual boot di mana sebuah komputer terpasang beberapa sistem operasi sekaligus.
Pada komputer yang terpasang dua sistem operasi dengan pengaturan dual boot, semisal Linux dan Windows, perangkat Bluetooth seperti Speaker, Mouse, dan sebagainya, yang sebelumnya di-pairing di Windows harus di-pairing ulang ketika menggunakan Linux, dan sebaliknya, dan karena setiap melakukan pairing perangkat Bluetooth akan menyimpan kode pairing yang berbeda, maka hasil pairing di OS sebelumnya menjadi tidak valid.
Perangkat Bluetooth terbaru yang memiliki fitur BLE (Bluetooth Low Energy) memiliki konfigurasi pairing yang berbeda yang akan dibahas pada artikel ini. Untuk contoh penjelasan kali ini kita menggunakan dual boot Linux Ubuntu dan Windows. Tahap-tahap ini bisa juga diterapkan pada distro Linux lain selama menggunakan Bluez untuk implementasi Bluetoothnya.
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
- 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 key name yang cocok dengan nomor MAC perangkat Bluetooth. Misalnya pada contoh di atas perangkat Mouse memiliki nomor Bluetooth D2:39:88:84:61:57, pindah ke subkey tersebut dengan perintah
cd d23988846157
Catatan: Jika nomor Bluetooth yang dicari tertera di kolom value name (bukan key name), berarti perangkat ini menggunakan metode pairing classic. Untuk metode ini bisa baca cara pairing-nya di sini. - Selanjutnya lakukan gunakan perintah
hex IRK
danhex LTK
untuk mendapatkan kode pairing-nya:hex IRK Value <IRK> 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.. hex LTK Value
of type REG_BINARY (3), data length 16 [0x10] :00000 EA 81 21 E7 AA D2 3A FD 6C 80 61 EF A8 FA 36 BB ..!...:.l.a...6. - Gunakan perintah
q
untuk keluar dari konsol.q
Pada tahap ke-11 terdapat 16 pasang bilangan heksadesimal (70 D8 26 E5 8C 66 14 B1 FB 2A FC B7 22 55 EF A8) untuk IRK (Identity Resolving Key) dan LTK (Long Term Key) yang merupakan kode pairing pada Windows. Catat kedua 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 IRK yang diperoleh pada langkah sebelumnya:
[LinkKey] Key=70D826E58C6614B1FB2AFCB72255EFA8
Isikan dengan 16 pasang bilangan heksadesimal tanpa spasi. - Cari juga "Key" di bagian [PeripheralLongTermKey] dan [SlaveLongTermKey] dan ubah keduanya dengan kode LTK yang diperoleh pada langkah sebelumnya:
[PeripheralLongTermKey] Key=EA8121E7AAD23AFD6C8061EFA8FA36BB ... [SlaveLongTermKey] Key=EA8121E7AAD23AFD6C8061EFA8FA36BB
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!