Как настроить видимость аппаратного ключа HASP в Simply Linux (Alt Linux) для 1С?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При переходе на отечественные операционные системы семейства Alt Linux, в частности Simply Linux, системные администраторы часто сталкиваются с проблемой, когда физически подключенный и светящийся USB-ключ HASP не определяется платформой «1С:Предприятие». Проблема может заключаться как в отсутствии необходимых драйверов и 32-битных библиотек, так и в особенностях работы служб в Linux-окружении. Рассмотрим подробно, как диагностировать и решить эту проблему шаг за шагом. Для решения других задач по настройке окружения пригодится справочник по системному администрированию Linux и 1С.

Шаг 1. Диагностика физического подключения

Прежде чем приступать к программной настройке, нам необходимо убедиться, что операционная система вообще видит устройство на уровне USB-шины. Для этого проанализируем вывод системных команд. Откроем терминал и выполним команду для просмотра подключенных USB-устройств:

lsusb

В списке устройств мы должны найти запись, содержащую идентификатор производителя 0529 (Aladdin Knowledge Systems). Если такая запись присутствует, значит, порт исправен и ключ определен ядром. Если же в списке ничего похожего нет, проанализируем системный журнал dmesg, чтобы увидеть события, происходящие в момент подключения ключа в разъем:

dmesg | tail -n 20

Если мы видим сообщения об ошибках типа device descriptor read/64, error -110, это может указывать на проблемы с питанием порта или несовместимость с контроллером USB 3.0. Попробуем переключить ключ в порт USB 2.0 (обычно черного цвета) на задней панели системного блока.

Шаг 2. Установка драйвера HASP и 32-битных компонентов

Для работы аппаратных ключей в Simply Linux требуется специализированный демон haspd. Важной особенностью является то, что драйвер зачастую требует 32-битных библиотек для корректной работы даже в 64-битной системе. Разберем процесс установки необходимых пакетов через менеджер пакетов apt-get. Выполним установку:


su -
apt-get update
apt-get install i586-haspd

Использование префикса i586- критически важно, так как бинарные файлы драйвера Sentinel HASP поставляются в 32-битном формате. Помимо самого драйвера, убедимся, что в системе установлены базовые библиотеки совместимости glibc-core.i586 и libusb.i586. Без них служба может формально запуститься, но не сможет взаимодействовать с оборудованием.

Шаг 3. Управление службой и автозапуск

Как показывает практика, после установки пакета служба драйвера не всегда запускается автоматически. Проверим текущий статус службы haspd:

service haspd status

Если служба находится в состоянии stopped или dead, нам необходимо запустить её вручную и, что не менее важно, добавить в автозагрузку, чтобы после перезагрузки компьютера ключ не «отвалился» снова. Выполним следующие команды:


service haspd start
systemctl enable haspd

Теперь проанализируем статус еще раз. Мы должны увидеть сообщение active (running). Это означает, что демон успешно загружен и готов обрабатывать запросы от платформы 1С.

Шаг 4. Настройка правил udev для доступа к устройству

Иногда операционная система ограничивает доступ обычных пользователей к USB-устройствам, из-за чего 1С не может «достучаться» до ключа. Выясним причину, проверив права доступа в каталоге /dev/bus/usb/. Чтобы автоматизировать назначение прав, создадим файл правил udev:

nano /etc/udev/rules.d/80-hasp.rules

Вставим в него следующую строку, которая разрешит всем пользователям чтение и запись для устройств Aladdin:

SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0529", MODE="0666"

После сохранения файла (Ctrl+O, Enter, Ctrl+X) перезагрузим правила командой:

udevadm control --reload-rules && udevadm trigger

Шаг 5. Использование веб-интерфейса диагностики

Современные версии драйверов HASP (Sentinel LDK) предоставляют удобный веб-интерфейс для мониторинга ключей. Разберем, как им воспользоваться. Откроем браузер и перейдем по адресу:

http://localhost:1947

Если страница открывается, значит, драйвер работает корректно. Перейдем в раздел Sentinel Keys. Если в списке отображается ваш ключ, значит, проблема на уровне операционной системы решена, и если 1С всё еще его не видит, нужно копать в сторону настроек самой платформы.

Шаг 6. Настройка nethasp.ini

Платформа 1С:Предприятие при поиске ключа ориентируется на конфигурационный файл nethasp.ini. В Linux он обычно располагается по пути /opt/1cv8/conf/ или в папке с конкретной версией платформы. Даже если ключ локальный, стоит проверить настройки поиска. Рассмотрим содержимое секции [NH_COMMON]:


[NH_COMMON]
NH_USE_LOCAL = Enabled
NH_TCPIP = Disabled

Установка NH_USE_LOCAL = Enabled принудительно заставляет платформу искать локальный USB-ключ. Отключение NH_TCPIP (если вы не используете сетевые ключи на других серверах) ускорит запуск программы, так как 1С не будет тратить время на опрос сети по протоколу UDP 475.

Шаг 7. Решение проблем с энергосбережением USB

В ядре Linux по умолчанию включена функция autosuspend, которая может переводить USB-порт в режим сна для экономии энергии. Старые модели ключей HASP могут некорректно «просыпаться», что приводит к потере лицензии во время работы. Проанализируем параметры загрузки ядра. Чтобы отключить эту функцию, отредактируем файл конфигурации GRUB:

nano /etc/sysconfig/grub2

Найдем строку GRUB_CMDLINE_LINUX_DEFAULT и добавим в конец параметра значение usbcore.autosuspend=-1. После этого обновим конфигурацию загрузчика:

update-grub

После перезагрузки система перестанет отключать питание USB-портов, что обеспечит стабильную связь платформы с аппаратным ключом защиты.

Резюме: Для успешной работы ключа HASP в Simply Linux необходимо обеспечить наличие 32-битной службы i586-haspd, проверить её статус через service, настроить права доступа через udev и при необходимости скорректировать параметры энергопотребления USB. Совокупность этих действий гарантирует стабильное обнаружение лицензии платформой 1С.

← На главную