| Предыдущий | Следующий |
| E_BLUETOOTH_ATT_INVALID_HANDLE | E_BLUETOOTH_ATT_WRITE_NOT_PERMITTED |
E_BLUETOOTH_ATT_READ_NOT_PERMITTED
Что означает E_BLUETOOTH_ATT_READ_NOT_PERMITTED
E_BLUETOOTH_ATT_READ_NOT_PERMITTED (0x80650002) — Чтение атрибута запрещено.
Код 0x80650002 относится не ко всему компоненту «Bluetooth GATT/ATT», а к операции в области «ATT request, attribute handle, permissions и connection state». Сообщение «чтение атрибута запрещено» позволяет начать с темы «bluetooth, att, read, не, permitted».
Что проверить и как подтвердить исправление
Не начинайте с общего сброса компонента: сопоставьте первый отказ с фактическими параметрами операции. При 0x80650002 и условии «чтение атрибута запрещено» воспроизведите отказ на минимальном объекте и меняйте только одно условие за запуск, чтобы отделить неверный вход от состояния системы.
Диагностика 0x80650002 должна включать peer address, service/characteristic UUID, attribute handle, opcode, MTU и ATT response. Для темы «bluetooth, att, read, не, permitted» при 0x80650002 важны значения именно на первом отказе, а не после обработки ошибки верхним уровнем.
После локализации 0x80650002 действуйте по контракту подсистемы: проверяйте handle и права по актуальному service discovery; после переподключения старые handles могут быть недействительны. Для 0x80650002 и условия «чтение атрибута запрещено» неизменённый повтор без нового состояния не считается исправлением.
Закройте диагностику после двух проверок: исходный сценарий проходит без результата 0x80650002, а заведомо неверный вход отклоняется на ожидаемой границе.
Документация для результата 0x80650002: Bluetooth Core: characteristic properties and permissions · Bluetooth Core: Read Not Permitted · Zephyr: GATT attribute read callbacks and permissions.
Нужно найти другой код? Найти другой код состояния или ошибки.