Cara Pairing Bluetooth BLE pada Komputer dengan Dual Boot Linux (Ubuntu) dan Windows

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.

  1. Pertama-tama instal program tersebut:
    sudo apt install chntpw
  2. Lakukan mount disk drive Windows. Untuk mudahnya bisa buka aplikasi Disks, cari volume dimana Windows terpasang, lalu tekan tombol Mount.
  3. Pindah ke direktori berikut:
    cd (lokasi mount-point Windows)/Windows/System32/config
  4. Buka konsol chntpw pada direktori tersebut:
    chntpw -e SYSTEM
  5. Pada konsol chntpw, lakukan perintah ls lalu cari subkey dengan nama <CurrentControlSet> atau <ControlSetXXX>
    ls
    Node has 17 subkeys and 0 values
      key name
      
  6. Pindah ke subkey di dalam ControlSet tersebut:
    cd ControlSet001\Services\BTHPORT\Parameters\Keys
  7. Jalankan lagi ls untuk mengetahui nomor MAC port Bluetooth pada komputer:
    ls
    Node has 1 subkeys and 0 values
      key name
      <e8f40839d72f>
  8. Pindah ke subkey tersebut:
    cd e8f40839d72f
  9. 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>
  10. 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.
  11. Selanjutnya lakukan gunakan perintah hex IRK dan hex 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.
  12. 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.

  1. Pindah konteks ke root:
    sudo su
  2. 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 yaitu 04:52:C7:B0:A1:8F.
  3. 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.
  4. 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!

Referensi:
https://unix.stackexchange.com/questions/255509/bluetooth-pairing-on-dual-boot-of-windows-linux-mint-ubuntu-stop-having-to-p

Tulis Komentar