Долгая работа frinit при использовании двух ФР Атол

При использовании двух ФР Атол, подключенных по USB, могут возникать проблемы с длительным запуском кассы, из-за замедления работы утилиты frinit.
Наличие проблемы можно определить по логам frinit (предварительно необходимо включить уровень логирования TRACE):

2023-01-18 16:41:25.626 [7f69edbabe00] DEBUG atol_2  - Закрытие порта
2023-01-18 16:43:51.174 [7f69edbabe00] TRACE atol_2  - Операция выполнена без ошибок

Закрытие порта выполняется несколько минут. В этот момент может происходить отправка данных на сервер статистики Атола с использованием библиотеки libsodium.

Работа этой библиотеки связана с уровнем энтропии в ядре. Проверить уровень энтропии можно командой:

cat /proc/sys/kernel/random/entropy_avail

По умолчанию для генерации энтропии в ядре используется /dev/random. При использовании медленного генератора энтропии утилита frinit может работать долго. Для решения проблемы рекомендуется использовать генератор rng-tools.

Утилита rng-tools

Для установки rng-tools на кассу необходимо:

  1. Запустить установку пакета командой:

    aptitude install rng-tools
  2. Проверить, что запущен сервис rng-tools.
  3. Проверить уровень энтропии в ядре повторно, значение должно увеличиться.
  4. Перезагрузить кассу.
  5. Проверить логи frinit.
    Длительность закрытия порта должна уменьшиться.

Другие варианты решения проблемы

Допускается использование на свой страх и риск.

  • Утилита haveged – необходимо установить командой:

    apt-get install haveged
  • Утилита Jitterentropy – лучшая альтернатива, но большинство дистрибутивов Linux пока не предлагают ее в качестве устанавливаемого пакета.
  • No labels