| Previous | Next |
| E_BLUETOOTH_ATT_INVALID_HANDLE | E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED |
E_BLUETOOTH_ATT_READ_NOT_PERMITTED
Existence and readability are separate GATT properties
E_BLUETOOTH_ATT_READ_NOT_PERMITTED maps ATT error 0x02. Discovery can reveal an attribute even when the server does not permit clients to read its value. A characteristic may be write-only, may expose data only through notifications or indications, or may use a control-point protocol whose response arrives through another characteristic.
The error is not the same as insufficient authentication or encryption. Those security errors say that access could become valid after the link satisfies a security requirement. Read Not Permitted says the read procedure itself is not allowed for that attribute under its configured permissions.
What to verify before changing security settings
- Inspect the characteristic properties and the profile specification for the intended data flow.
- Do not infer read permission solely from the presence of a value handle.
- Use notification or indication subscription when the profile defines server-initiated delivery.
- Confirm that the client did not accidentally target a declaration or descriptor instead of the value attribute.
References
- Bluetooth Core: characteristic properties and permissions
- Bluetooth Core: Read Not Permitted
- Zephyr: GATT attribute read callbacks and permissions
Looking for a different code? Search another status or error code.