hcitool lescan funktioniert nicht mit Bluetooth Version 5

Dec 16 2020

Es hat sich für mich herausgestellt, dass hcitooles nicht lescanauf Bluetooth v5.X-Hardware ausgeführt werden kann. Das Ausführen sudo hcitool lescanwürde zu folgendem Fehler führen : Set scan parameters failed: Input/output error.

Die Community schlägt vor, bluetoothctlstattdessen (z. B. hier ) zu verwenden, gatttoolist jedoch hcitoolfür das Scannen von ble-Geräten abhängig . Obwohl es gatttoolfür viele Apps als ble-backend dient, wird noch keine Lösung zur Behebung des oben genannten Eingabe- / Ausgabefehlers bereitgestellt. Weiß jemand, wie man den obigen Fehler behebt?

Ich habe die volle Funktionalität meiner BLE unter Windows 10 getestet, aber in Ubuntu bin ich bisher gescheitert. Mein Laptop verfügt über die folgende Bluetooth-Hardware:

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

Ich habe Ubuntu 20.04 mit bluez v5.53.

Antworten

ukBaz Jan 01 2021 at 18:26

gatttool und hcitool waren beide im Jahr 2017 veraltet .

Die D-Bus-API ist dokumentiert unter:https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc

Und es gibt Beispiele bei: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test.