Установка 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

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

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

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