| Previous | Next |
| E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED | E_BLUETOOTH_ATT_INSUFFICIENT_AUTHENTICATION |
E_BLUETOOTH_ATT_INVALID_PDU
The request failed at the ATT framing layer
E_BLUETOOTH_ATT_INVALID_PDU maps error 0x04 and means the server could not accept the request as a valid ATT PDU. Each opcode defines an exact field layout; a missing handle, an impossible pair count, an invalid payload length, or a response whose length cannot represent complete elements can trigger this result.
When Windows exposes this HRESULT after a standard Bluetooth API call, capture whether the value originated from the remote server or from local validation. The fault can be in peripheral firmware, a proxy or test harness constructing raw ATT traffic, or a server response that violates the negotiated MTU and opcode format.
Protocol-level diagnostics
- Capture an over-the-air or HCI trace and identify the request opcode named in the Error Response.
- Validate the PDU length against the exact ATT procedure, not only against the negotiated MTU.
- Check variable-length response elements for truncation or a remainder that cannot form a complete entry.
- Do not classify this as an application value error unless the PDU itself is structurally valid.
References
- Bluetooth Core: ATT PDU formats and Invalid PDU
- Zephyr: ATT error constants
- Microsoft: Bluetooth HRESULT values
Looking for a different code? Search another status or error code.