| Предыдущий | Следующий |
| E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED | E_BLUETOOTH_ATT_INSUFFICIENT_AUTHENTICATION |
E_BLUETOOTH_ATT_INVALID_PDU
Что означает E_BLUETOOTH_ATT_INVALID_PDU
E_BLUETOOTH_ATT_INVALID_PDU (0x80650004) — Получен недопустимый пакет PDU протокола ATT.
Код 0x80650004 относится не ко всему компоненту «Bluetooth GATT/ATT», а к операции в области «ATT request, attribute handle, permissions и connection state». Сообщение «получен недопустимый пакет pdu протокола att» позволяет начать с темы «bluetooth, att, недопустимый, pdu».
Что проверить и как подтвердить исправление
В первую очередь проверьте допустимость и структуру входных данных первого неуспешного вызова. Для 0x80650004 в сценарии «получен недопустимый пакет pdu протокола att» сверьте тип, размер, диапазон, маску флагов и принадлежность каждого дескриптора текущему объекту именно по контракту первого неуспешного метода.
Перед повтором 0x80650004 зафиксируйте peer address, service/characteristic UUID, attribute handle, opcode, MTU и ATT response; отдельно запишите HRESULT, HCI. Различия по теме «bluetooth, att, недопустимый, pdu» для 0x80650004 покажут, изменился ли первый неуспешный этап.
После локализации 0x80650004 действуйте по контракту подсистемы: проверяйте handle и права по актуальному service discovery; после переподключения старые handles могут быть недействительны. Для 0x80650004 и условия «получен недопустимый пакет pdu протокола att» неизменённый повтор без нового состояния не считается исправлением.
Подтвердите изменение повтором исходной операции: результат 0x80650004 не должен возникать на исправном объекте, но прежний отрицательный контроль обязан оставаться предсказуемым.
Документация для результата 0x80650004: Bluetooth Core: ATT PDU formats and Invalid PDU · Zephyr: ATT error constants · Bluetooth HRESULT values.
Нужно найти другой код? Найти другой код состояния или ошибки.