hcitool lescan nie działa na Bluetooth w wersji 5

Dec 16 2020

Okazało się, że hcitoolnie działa lescanna sprzęcie Bluetooth v5.X. Uruchamianie sudo hcitool lescanskutkowałoby tego błędu: Set scan parameters failed: Input/output error.

Społeczność sugeruje użycie bluetoothctlzamiast tego (np. Tutaj ), ale gatttooljest zależna od hcitoolskanowania urządzeń ble. Chociaż gatttoolsłuży jako zaplecze dla wielu aplikacji, nadal nie ma rozwiązania, które rozwiązałoby wspomniany powyżej błąd wejścia / wyjścia. Czy ktoś wie, jak rozwiązać powyższy błąd?

Przetestowałem pełną funkcjonalność mojego BLE na Windows 10, ale w Ubuntu do tej pory mi się nie udało. Mój laptop ma następujący sprzęt bluetooth:

$ 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)

Mam Ubuntu 20.04 z bluez v5.53.

Odpowiedzi

ukBaz Jan 01 2021 at 18:26

gatttool i hcitool zostały wycofane w 2017 roku.

Interfejs API D-Bus jest udokumentowany pod adresem:https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc

A przykłady są na: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test.