Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

OSDP-NAK-0x02 IP-Телефония и СКУД

Ошибка OSDP NAK 0x02: Неподдерживаемая команда (Unsupported Command Code)

Обновлено: 21.08.2026 · Официальная документация ↗

Архитектура взаимодействия ACU/PD и природа ошибки NAK 0x02

Ответ osdp_NAK с кодом 0x02 (Unsupported Command Code Received) возвращается устройством (Peripheral Device, PD), когда контроллер отправляет команду, чей шестнадцатеричный код отсутствует в таблице поддерживаемых инструкций прошивки считывателя. Например, контроллер пытается отправить команду шифрования osdp_CHLNG (0x76) на устаревший считыватель базового профиля OSDP v1 без поддержки Secure Channel, либо команду управления дисплеем/RGB-подсветкой osdp_TEXT (0x69) / osdp_LED (0x69) с неподдерживаемым функциональным блоком.

Бизнес-риски

Считыватель не выполняет команды световой/звуковой индикации (пользователь не понимает, разрешен ли проход), срывается цикл согласования защищенного канала Secure Channel (SC), либо контроллер блокирует опрос периферийного устройства, помечая его как неисправное.

Таблица типовых команд OSDP, вызывающих NAK 0x02

Код командыМнемоникаФункцияПричина отказа (NAK 0x02)
0x76osdp_CHLNGЗапрос аутентификации Secure ChannelСчитыватель работает в незащищенном профиле (No Encryption).
0x77osdp_SCRYPTПередача криптографического ключа сессииПрошивка считывателя не поддерживает AES-128.
0x6Bosdp_PROMPTУправление биометрическим сканеромУстройство не имеет аппаратного блока биометрии.

Алгоритм устранения ошибки OSDP NAK 0x02

Сценарий 1: Опрос возможностей устройства через osdp_CAP (0x67)

Перед конфигурацией расширенных функций контроллер обязан запросить профиль возможностей устройства командой osdp_CAP:

# Скрипт проверки таблицы возможностей (Device Capabilities) через libosdp
osdpctl status --port /dev/ttyUSB0 --baud 9600 --address 1
# Ответ устройства должен содержать флаги:
# [CAP] Secure Channel: 1 (Supported)
# [CAP] LED Control: 1 (Standard LED)
# [CAP] Audible Indicator: 1 (Tone Beeper)
# [CAP] Text Output: 0 (Not Supported -> Отправка osdp_TEXT вызовет NAK 0x02)

Сценарий 2: Отключение неподдерживаемых опций в ПО СКУД

В конфигураторе СКУД (Sigur, Parsec, Bolid, Lenel, Gallagher):

  1. Откройте свойства считывателя на соответствующем порту контроллера.
  2. Отключите расширенную индикацию (например, плавный RGB-градиент или вывод текста на экран), переведя индикацию в режим Basic Red/Green LED (команда osdp_LED).
  3. Если считыватель старой ревизии, переключите режим работы порта с OSDP Secure Channel на OSDP Clear Text (v1).

Сценарий 3: Обновление микропрограммы считывателя (Firmware Update)

Выполните заливку актуальной прошивки с поддержкой спецификации SIA OSDP v2.2 через фирменную утилиту производителя (HID Reader Manager, STid Mobile ID Tool) по Bluetooth/USB.

Типовые ошибки администраторов

  • Принудительное включение Secure Channel на дешевых считывателях: Контроллер циклически шлет osdp_CHLNG, получает NAK 0x02 и уходит в бесконечный рестарт сессии, делая проход невозможным.
  • Игнорирование профилей совместимости SIA: Попытка использовать кастомные вендорские команды (osdp_MFG) на оборудовании стороннего производителя.
Несовместимость оборудования разных производителей в СКУД?
Специалисты ITSTM настроят гетерогенные системы контроля доступа, подружат контроллеры и считыватели различных вендоров по протоколам OSDP v2.2 и Wiegand.
💡 Практика специалистов: При интеграции контроллеров одного вендора со считывателями другого всегда проверяйте соответствие версий OSDP. Если считыватель сертифицирован только по профилю SIA OSDP Profile Basic (ACU-A), отключите на контроллере передачу OSDP File Transfer (osdp_FILETRANSFER) и расширенную диагностику.

Частые вопросы (FAQ)

Может ли NAK 0x02 приводить к зависанию контроллера?

В корректно написанном стеке OSDP контроллер, получив NAK 0x02, просто прекращает посылать данную команду. Однако в дешевых прошивках это может вызывать бесконечный цикл повторов (retry loop) и забивать шину.

Как считыватель сообщает контроллеру о своих возможностях?

При старте контроллер отправляет команду osdp_CAP (0x67). Считыватель возвращает ответ osdp_CAPREP (0x47) со списком всех поддерживаемых функций и версий протокола.

Что делать, если NAK 0x02 возвращается на команду osdp_BUZ (управление зуммером)?

Проверьте параметры команды: некоторые считыватели поддерживают только фиксированную длительность тона (Tone code) и отклоняют кастомные миллисекундные тайминги (Custom On/Off time).

Поддерживает ли OSDP передачу биометрических шаблонов?

Да, для этого используются команды osdp_BIOMATCH и osdp_BIOMETA, но они требуют поддержки спецификации профиля Biometrics на уровне прошивки считывателя.

Полезные материалы
Рекомендуем