| Previous | Next |
| STATUS_BTH_ATT_INSUFFICIENT_AUTHORIZATION | STATUS_BTH_ATT_ATTRIBUTE_NOT_FOUND |
STATUS_BTH_ATT_PREPARE_QUEUE_FULL
A reliable-write transaction exceeded the server's temporary queue capacity
STATUS_BTH_ATT_PREPARE_QUEUE_FULL is ATT error 0x09. Prepare Write requests stage fragments for a later Execute Write decision; the server reports this code when it lacks room to queue another fragment.
This is more specific than a generic resource failure. The client may already have accepted fragments pending in the server, and an automatic retry can duplicate or reorder the transaction. ATT does not commit those prepared values until the Execute Write request, so the recovery path must account for the outstanding transaction state.
What to check
- Track every prepared fragment: handle, offset, byte range, response, transaction identifier in the application, and whether Execute Write or Cancel has been sent.
- Limit the number and total size of outstanding prepared writes; finish or cancel one transaction before starting another when the peripheral has a small queue.
- After a disconnect or error, re-establish transaction state explicitly rather than assuming that the server retained or discarded queued fragments.
References
- Bluetooth SIG: Attribute Protocol (ATT)
- Bluetooth SIG: Generic Attribute Profile (GATT)
- Microsoft: Bluetooth GATT client
Looking for a different code? Search another status or error code.
