hcitool lescan tidak berfungsi pada Bluetooth versi 5
Ternyata bagi saya itu hcitool
tidak mampu berjalan lescan
pada perangkat keras Bluetooth v5.X. Menjalankan sudo hcitool lescan
akan menghasilkan kesalahan ini: Set scan parameters failed: Input/output error
.
Komunitas menyarankan untuk menggunakan bluetoothctl
sebagai gantinya (misalnya di sini ) tetapi gatttool
bergantung pada hcitool
pemindaian perangkat ble. Meskipun gatttool
berfungsi sebagai backend ble di banyak aplikasi, tetap tidak ada solusi yang disediakan untuk menyelesaikan kesalahan Input / output yang disebutkan di atas. Adakah yang tahu cara mengatasi kesalahan di atas?
Saya telah menguji fungsionalitas penuh BLE saya di Windows 10 tetapi di Ubuntu saya gagal sejauh ini. Laptop saya memiliki perangkat keras bluetooth berikut:
$ hciconfig -a
hci0: Type: Primary Bus: USB
BD Address: 4C:1D:96:30:83:6E ACL MTU: 1021:4 SCO MTU: 96:6
UP RUNNING
RX bytes:8099 acl:34 sco:0 events:591 errors:0
TX bytes:11990 acl:34 sco:0 commands:452 errors:0
Features: 0xbf 0xfe 0x0f 0xfe 0xdb 0xff 0x7b 0x87
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH SNIFF
Link mode: SLAVE ACCEPT
Name: 'xxxx'
Class: 0x0c010c
Service Classes: Rendering, Capturing
Device Class: Computer, Laptop
HCI Version: 5.1 (0xa) Revision: 0x100
LMP Version: 5.1 (0xa) Subversion: 0x100
Manufacturer: Intel Corp. (2)
Saya memiliki Ubuntu 20.04 dengan bluez v5.53.
Jawaban
gatttool dan hcitool sudah tidak digunakan lagi pada tahun 2017.
D-Bus API didokumentasikan di:https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc
Dan ada contoh di: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test.