Oddly, I can't seem to find anything about this.
I am trying to access/read/write bluetooth services on my device. I am using
bluetoothctl command. There are a set of services, which shows up with info command and another set, which shows up in
Device <someMACaddress> (public) Name: <somename> Alias: <somealias> Paired: yes Trusted: yes Blocked: no Connected: yes LegacyPairing: no UUID: Generic Access Profile (00001800-0000-1000-8000-00805f9b34fb) UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb) UUID: Device Information (0000180a-0000-1000-8000-00805f9b34fb) UUID: Battery Service (0000180f-0000-1000-8000-00805f9b34fb) UUID: Human Interface Device (00001812-0000-1000-8000-00805f9b34fb) UUID: Vendor specific (3dda0001-957f-7d4a-34a6-74696673696d) ManufacturerData Key: 0x<2bytekey> ManufacturerData Value: <10bytehexvalue> <10bytevalue>
I can access the gatt services but I can't find a way to access the first set of services displayed above. I was wondering, if there is any way? It appears to be that these services are not GATT but all my searches about reading values lead to GATT. For instance, when I connect the device to Android, hcisnoop log shows HID handle 1812 is being used when I press the button on the BLE device. It also appears as /dev/hidraw2.
I was wondering, if I can specifically listen to 1812 handle or uuid for the raw input? or another handle such as 180a or 1801 etc...?