I am connecting to a BLE device with custom firmware and 4 services, 2 of which are custom services that each have one custom characteristic.
When using discoverServices() after a successful connect, 4 services are found in the HCI log (see Wireshark screen below).
But only 3 services are returned from getServices() in my own Android code and in the nRF Bluetooth app, and the third service is missing its only characteristic:
The 4th service and its characteristic are nowhere to be found.
Longer HCI log of all activity after the connection event, including a characteristic read of one of the visible characteristics, is linked here: HCI log subset
In packet 54, there is a Read By Type Response. The content is an item "Attribute Data" containing handle 0x0211 and value 00. This value (00) is invalid. A characteristic declaration must have the following value components:
So the value should be in total either 5 or 19 bytes. Your value is 1 byte.