hcitool lescan tidak berfungsi pada Bluetooth versi 5

Dec 16 2020

Ternyata bagi saya itu hcitooltidak mampu berjalan lescanpada perangkat keras Bluetooth v5.X. Menjalankan sudo hcitool lescanakan menghasilkan kesalahan ini: Set scan parameters failed: Input/output error.

Komunitas menyarankan untuk menggunakan bluetoothctlsebagai gantinya (misalnya di sini ) tetapi gatttoolbergantung pada hcitoolpemindaian perangkat ble. Meskipun gatttoolberfungsi 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

ukBaz Jan 01 2021 at 18:26

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.