hcitool lescan no funciona en la versión 5 de Bluetooth

Dec 16 2020

Me ha resultado que hcitoolno se puede ejecutar lescanen hardware Bluetooth v5.X. Correr sudo hcitool lescandaría lugar a este error: Set scan parameters failed: Input/output error.

La comunidad sugiere usarlo bluetoothctlen su lugar (por ejemplo, aquí ) pero gatttooldepende de hcitoolpara escanear dispositivos ble. Si bien gatttoolsirve como un backend combinado en muchas aplicaciones, aún no se proporciona una solución para resolver el error de entrada / salida mencionado anteriormente. ¿Alguien sabe cómo resolver el error anterior?

He probado la funcionalidad completa de mi BLE en Windows 10 pero en Ubuntu he fallado hasta ahora. Mi computadora portátil tiene el siguiente hardware 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)

Tengo Ubuntu 20.04 con bluez v5.53.

Respuestas

ukBaz Jan 01 2021 at 18:26

gatttool y hcitool quedaron obsoletos en 2017.

La API de D-Bus está documentada en:https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc

Y hay ejemplos en: https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test.