Установка EoU на Linux

В одной из предыдущих статей я рассказывал о том, как можно установить драйвер торгового оборудования АТОЛ на Linux (Mint). Я устанавливал драйвера АТОЛ для подключения онлайн кассы. Однако, установки только драйвера торгового оборудования может быть не достаточно для полноценной работы онлайн кассы. Для того, чтобы касса могла автоматически отправлять информацию о чеках ККМ и прочую служебную информацию (открытие/закрытие смены, чеки коррекции и т.д.) дополнительно должна быть выполнена установка EoU на Linux.

Собственно, только поэтому я подготовил себе (и вам) краткую шпаргалку по процессу установки и настройки.

При использовании платформы 5.0 АТОЛ EoU уже не нужен – там используется EoT (Ethernet Over Transport). Однако, для определенных прошивок ККТ даже на платформе 5.0 вы можете использовать EoU – для завершения периода миграции на EoT. Подробностей тут особо не подскажу – нужно уточнять непосредственно по самой кассе, версии прошивки, драйвера ККТ и т.д.

Я в качествен операционной системы буду использовать Linux Mint 21 x64.

Зачем нужен EoU

EoU – это утилита Ethernet ove USB. Она необходима для передачи чеков от онлайн кассы к ОФД (оператору фискальных данных). ОФД уже далее передает информацию в ФНС.

Отмечу, что EoU в основном применяется на тех рабочих местах, где онлайн касса подключена по USB и у неё нет непосредственного доступа в интернет. Поэтому транспорт информации к ОФД выполняет утилита EoU на самом ПК.

С EoU я начал работу с 2017 года, но, скорее всего, он уже в ближайшее время будет заменен на EoT.

Загрузка дистрибутива

Сначала загрузим дистрибутив. Переходим в Центр Загрузок АТОЛ.

Скачиваем утилиту EoU:

Прямая ссылка на скачивание.

Распаковываем архив:

unzip EoU.zip

В распакованном архиве есть инструкция с описанием основных нюансов работы утилиты EoU. Если у вас возникнут какие-то сложности, то можете попробовать там найти ответы на свои вопросы.

В распакованном архиве будет множество доступных версий EoU. Я буду использовать самую последнюю – 8571. Поскольку я буду использовать 64-х разрядную версию ОС Linux Mint, то мне необходимо предварительно перейти в соответствующую директорию:

cd EoU/8571/linux-64

Установка EoU на Linux и настройка

Теперь приступаем к установке. Сначала необходимо создать директорию для хранения файлу конфигурации и скопировать сам файл конфигурации в эту директорию:

sudo mkdir -p /etc/ATOL/EoU
sudo cp settings.xml /etc/ATOL/EoU/

Название директории должно быть строго таким, т.к. это указано в документации.

Все файлы из директории с дистрибутивом EoU (кроме settings.xml) я скопирую в директорию opt, т.к. обычно туда размещают стороннее ПО:

sudo mkdir -p /opt/EoU
sudo cp * /opt/EoU

Давайте сделаем файлы EthOverUsb и EthOverUsb.sh исполняемыми:

sudo chmod u+x /opt/EoU/EthOverUsb*

Теперь выполним регистрацию утилиты EthOverUsb в качестве сервиса:

sudo /opt/EoU/EthOverUsb.sh -i

Теперь, для того, чтобы настроить автозагрузку сервиса создадим Unit файл для регистрации нового сервиса:

sudo nano /etc/systemd/system/EoU.service

Содержимое файла будет следующее:

[Unit]
Description=EthOverUsb
After=network.target

[Service]
Type=forking
User=root
ExecStart=/opt/EoU/EthOverUsb.sh
ExecStop=/opt/EoU/EthOverUsb.sh -t

[Install]
WantedBy=multi-user.target

Сохраняем файл. Перезагрузим информация о доступных сервисах:

sudo systemctl daemon-reload

Включим автозапуск нашего сервиса при старте операционной системы:

sudo systemctl enable EoU.service

Теперь попробуем запустить наш сервис:

sudo systemctl start EoU.service

Проверим статус нашего сервиса:

sudo systemctl status EoU.service

На первый взгляд выглядит рабочим.

Проверка работы

Собственно, вариантов проверки несколько:

  1. Зайти в личный кабинет вашего ОФД и там проверить наличие чеков ККМ. Если не отправленных ранее чеков в личном кабинете ОФД не наблюдается, то, вероятно, есть проблемы с конфигурацией.
  2. Анализировать журналы сервиса EoU и разбираться в причинах проблемы.

Журналы EoU расположены вот тут:

/var/log/EoU

Пример содержимого журнала сервиса EoU в случае успешной работы службы:

2022-09-22 16:57:39.901 INFO  [EoU] Start service EoU (v8571)
2022-09-22 16:57:39.901 INFO  [EoU] Hotplug mode
2022-09-22 16:57:39.904 INFO  [EoU] Register EoU worker [1-5]
2022-09-22 16:57:39.904 INFO  [Ofd-1-5] pause
2022-09-22 16:57:39.906 INFO  [USB-1-5] Open USB: 1-5
2022-09-22 16:57:39.909 INFO  [USB-1-5] SUCCESS
2022-09-22 16:57:39.910 INFO  [Ofd-1-5] continue
2022-09-22 16:57:40.974 INFO  [Ofd-1-5] Command --> U2E_TLV_RX_REQUEST_VERSION
2022-09-22 16:57:40.974 INFO  [USB-1-5] write: 01 00 (2 bytes)
2022-09-22 16:57:40.975 INFO  [USB-1-5] read: 40 01 02 (3 bytes)
2022-09-22 16:57:42.037 INFO  [Ofd-1-5] Command --> U2E_TLV_RX_REQUEST_VERSION
2022-09-22 16:57:42.037 INFO  [Ofd-1-5] Command <-- U2E_TLV_TX_RESPONSE_VERSION
2022-09-22 16:57:42.037 INFO  [USB-1-5] write: 01 00 (2 bytes)
2022-09-22 16:57:42.038 INFO  [USB-1-5] read: 40 01 02 (3 bytes)
2022-09-22 16:57:42.042 INFO  [Ofd-1-5] Command <-- U2E_TLV_TX_RESPONSE_VERSION
2022-09-22 16:57:44.012 INFO  [USB-1-5] read: 60 02 50 00 70 0A 6B 73 2E 61 74 6F 6C 2E 72 75 (16 bytes)
2022-09-22 16:57:44.015 INFO  [Ofd-1-5] Command <-- U2E_TLV_TX_PORT0
2022-09-22 16:57:44.015 INFO  [Ofd-1-5] Command <-- U2E_TLV_TX_CONNECT0
2022-09-22 16:57:44.015 INFO  [Ofd-1-5] Connect to ks.atol.ru:80
2022-09-22 16:57:44.159 INFO  [TCP0-1-5] Found address: 5.188.186.125
2022-09-22 16:57:44.211 INFO  [TCP0-1-5] Connect to 5.188.186.125 established
2022-09-22 16:57:44.211 INFO  [Ofd-1-5] Command --> U2E_TLV_RX_CONNECT_STATE0
2022-09-22 16:57:44.211 INFO  [USB-1-5] write: 10 01 01 (3 bytes)
2022-09-22 16:57:44.212 INFO  [USB-1-5] read: 50 01 7E (3 bytes)
2022-09-22 16:57:44.217 INFO  [Ofd-1-5] Command <-- U2E_TLV_TX_PACKET_SIZE0

Также в случае проблем с отправкой чеков убедитесь, что на рабочем месте есть доступ в интернет и что необходимые порты до вашего ОФД не закрыты брандмауэрами.

Установка EoU на Linux: 4 комментария

    1. Спасибо за наблюдательность. Что-то я пропустил момент, когда она вообще появилась. Скорее всего при одном из обновлений шаблонов…

  1. Добрый день! Роман, не получается настроить канал транспорта на ОФД.
    Касса АТОЛ 30Ф, пятая платформа 5.7.0 (7651), должна работать через EoT.
    Но чек отчета диагностики соединения с ОФД печатается с ошибкой “Транспортное приложение – не найдено”.
    ОС Ubuntu 22.04.3 LTS, версия драйвера 10.10.0.0. Пробовал 10.8.0.0, результат одинаковый.

    Через EoU касса не обнаруживается. В логах:
    ERROR [USB-1-1] Can’t claim device [Entity not found].
    Пробовал указывать номер порта в settings.xml, тоже самое.
    И в параметрах ККТ – 15 ОФД – канал обмена с ОФД – USB (EoU) не сохраняется (Данный канал Интернет отсутствует в ККТ).

    Можете подсказать по решению проблемы?
    На Windows эта касса через EoT работает, чеки в ОФД отправляются, но надо настроить на Linux.

    1. Добрый день! Я точно не помню – есть ли в Linux конфигурационный файл settings.xml или нет, но если есть, то попробуйте параметр hotplug убрать – https://itproblog.ru/%d0%ba%d0%ba%d1%82-%d0%b0%d1%82%d0%be%d0%bb-%d0%bd%d0%b5-%d0%be%d1%82%d0%bf%d1%80%d0%b0%d0%b2%d0%bb%d1%8f%d0%b5%d1%82-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d0%b5-%d0%ba-%d0%be%d1%84%d0%b4/#Resenie

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *