Pemecahan Masalah Bluetooth
Bluetooth adalah protokol nirkabel jarak pendek yang digunakan untuk menghubungkan ke berbagai perangkat I/O berbandwidth rendah (seperti keyboard, mouse, dan headset). Versi terbaru memiliki mode hemat energi dengan bandwidth dan jangkauan yang sedikit lebih tinggi.
Solusi Bluetooth terdiri dari daemon ruang pengguna, bluetoothd, yang berkomunikasi melalui port manajemen di kernel dengan driver perangkat keras. Aplikasi yang ingin berkomunikasi dengan daemon bluetoothd melakukannya melalui antarmuka d-bus. Ini termasuk berbagai applet Bluetooth GNOME.
Mengidentifikasi Masalah Bluetooth
Apakah perangkat keras Bluetooth telah ditemukan?
-
pastikan Bluetooth telah terdeteksi dan diaktifkan (perhatikan hci0: dan ‘UP RUNNING’):
$ hciconfig hci0: Type: Primary Bus: USB BD Address: xx:xx:xx:xx:xx:xx ACL MTU: 1021:4 SCO MTU: 96:6 UP RUNNING PSCAN RX bytes:15047 acl:0 sco:0 events:2433 errors:0 TX bytes:599323 acl:0 sco:0 commands:2431 errors:0 -
Jika perintah tidak mengembalikan apa pun (tidak ada informasi hci:), maka terdapat masalah hardware
$ lsusb -v | grep Bluetooth | grep DeviceProtocol bDeviceProtocol 1 Bluetooth -
Jika perintah lsusb tidak menampilkan apa pun, berarti tidak ada perangkat keras, dan output dmesg diperlukan
-
Jika perintah lsusb menampilkan Bluetooth, maka periksa apakah driver yang terpasang
$ lsusb -t | grep Wireless |__ Port 4: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M |__ Port 4: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M -
Jika Driver kosong, output
lsusb -vdiperlukan untuk menambahkan ID -
Jika hciconfig menampilkan output tetapi tidak dalam status UP
$ hciconfig up -
Daftar perangkat yang terhubung:
$ bluetoothctl [bluetooth]# show [bluetooth]# devices [bluetooth]# info <mac addr of any device you have problems with>
Apakah daemon bluetoothd sedang berjalan?
-
Pastikan bahwa Bluetooth di bawah systemd dalam keadaan 'Active' dan 'enabled'
$ systemctl status bluetooth ● bluetooth.service - Bluetooth service Loaded: loaded (/usr/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2017-10-04 16:07:40 EDT; 1 day 22h ago Docs: man:bluetoothd(8) Main PID: 27427 (bluetoothd) Status: "Running" Tasks: 1 (limit: 4915) CGroup: /system.slice/bluetooth.service └─27427 /usr/libexec/bluetooth/bluetoothd -
Pastikan obex telah dikonfigurasi untuk dijalankan (untuk mentransfer file dari ponsel)
$ systemctl --global --user is-enabled obex
enabled
Debugging sederhana
Sebagian besar masalah Bluetooth terjadi pada paket bluez (bluetoothd), yaitu daemon ruang pengguna.
-
edit
/usr/lib/systemd/system/bluetooth.service -
tambahkan opsi
-dke baris ExecStart untuk bluetoothd -
simpan dan keluar
$ systemctl daemon-reload
$ systemctl restart bluetooth
Debugging telah diaktifkan dan dapat membantu mengidentifikasi lokasi beberapa masalah Bluetooth
$ journalctl -r -u bluetooth > /tmp/bluetoothd.out
Memecahkan masalah firmware
Terkadang, firmware adaptor Bluetooth masuk ke keadaan di mana ia tidak dapat dipasangkan dengan perangkat Bluetooth tertentu (atau semua perangkat Bluetooth). Anda mungkin dapat mengatasi masalah tersebut dengan mengatur ulang adaptor Anda.
Dalam kasus laptop yang dilengkapi dengan adaptor Bluetooth bawaan, hal ini dapat dicapai dengan:
-
Masuk ke pengaturan firmware laptop (BIOS) dan nonaktifkan adaptor bawaan
-
Simpan pengaturan dan hidupkan ulang laptop
-
Masuk ke pengaturan firmware untuk kedua kalinya dan aktifkan kembali adaptor Bluetooth
-
Simpan dan mulai ulang
-
Sekarang coba pasangkan perangkat tersebut lagi
Want to help? Learn how to contribute to Fedora Docs ›