Меню Рубрики

Установка eou на linux

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Подключаем ККТ АТОЛ к 1С:Предприятие 8.3 в Debian / Ubuntu

Продолжая серию статей по настройке онлайн-ККТ, мы не могли обойти стороной альтернативные ОС, тем более что АТОЛ поддерживает работу своих ККТ в среде Linux. Про установку 1С:Предприятие 8.3 в Debian / Ubuntu мы уже рассказывали ранее, теперь пришло время подключить к нашей 1С кассу. Скажем сразу — никаких сложностей при этом у нас не возникло, разработчики АТОЛ хорошо сделали свою работу, а следуя нашей инструкцией с данной задачей справится даже начинающий (тем не менее мы предполагаем, что читатель обладает базовыми навыками работы в среде Linux).

Данная статья является логическим продолжением нашего материала Подключаем ККТ АТОЛ к 1С:Предприятие 8.3, поэтому мы не будем повторяться и остановимся только на вопросах подключения и настройки ККТ в среде Linux. Если вы только начинаете работать с ККТ, то настоятельно советуем прочитать вам первую часть статьи, так как там затрагиваются общие вопросы по настройке кассы и работе с утилитой Тест драйвера ККТ.

Данная инструкция была проверена нами на Debian 9.7 и Xubuntu 18.04, но будет справедлива для любого дистрибутива на базе Debian или Ubuntu. Сама ККТ при этом подключается к ПК посредством интерфейса USB, как выбрать интерфейс подключения кассы мы рассказывали в первой части статьи.

Прежде всего скачаем из Центра загрузок АТОЛ свежие драйвера версии 10.х, они располагаются в разделе Контрольно-кассовая техника, архив универсальный и содержит драйвера для всех поддерживаемых платформ. Из всего архива нас интересует папка installer, в которой содержится папка deb, в ней находятся пакеты для архитектур i386, amd64 и arm. Следует иметь ввиду, что разрядность драйвера ККТ должна соответствовать разрядности платформы 1С. В Linux разрядность платформы как правило соответствует разрядности системы, однако если это не так, например, на 64-разрядную ОС установлена 32-разрядная платформа, то драйвер тоже следует установить 32-разрядный.

Из всего набора пакетов нас интересуют только три:

  • libfptr10 — драйвер ККТ
  • libfptr10-gui — графическая библиотека драйвера ККТ
  • fptr10-test-util — утилита Тест драйвера ККТ

Устанавливать их тоже нужно в указанном порядке, так как они имеют в зависимостях друг друга. Для этого перейдите в папку с пакетами и выполните с правами суперпользователя следующие команды (обратите внимание, мы устанавливаем 64-разрядные пакеты версии 10.4.5, в вашем случае имена пакетов могут отличаться):

Графическая часть драйверов АТОЛ выполнена на базе Qt4 поэтому вы скорее всего при установке последнего пакета получите следующую ошибку:

Ничего страшного, с такими проблемами успешно справляется пакетный менеджер, для этого выполним:

Данная команда установит все недостающие зависимости и настроит пакет. После чего нам останется установить последний пакет с Тестом драйвера:

На этом установка драйверов ККТ закончена, можем запустить Тест драйвера и проверить работу кассы, данная утилита ничем не отличается от своей Windows-версии и работу с ней мы уже рассматривали ранее.

В последних релизах 1С драйвера для АТОЛ 10.х уже включены в состав конфигурации, если это не так, то драйвера следует загрузить отдельно, используя архив в папке 1С поставки драйверов.

Следует обратить внимание, что в Linux ККТ АТОЛ определяются не как два VCOM, а как одно USB-устройство, поэтому следует учесть этот момент при настройке:

На этом подключение ККТ можно считать законченным, дальнейшая работа с кассой ничем не отличается от Windows систем. Субъективные впечатления от работы ККТ АТОЛ в среде Linux у нас остались также положительными, разработчики поработали хорошо, никаких сбоев и нареканий по работе касс нами не выявлено.

Настройка EoU

После того, как касса настроена и работает, самое время перейти к настройке службы EoU, для этого скачаем одноименный пакет из Центра загрузок, он располагается в разделе Программное обеспечение — ДТО. Архив содержит набор различных версий утилиты, выбираем последнюю и переходим в директорию с утилитой для нужной нам архитектуры (i386 или amd64), разрядность следует выбирать согласно разрядности системы, вне зависимости от разрядности драйверов ККТ и платформы 1С.

Если мы перейдем в каталог с утилитой, то увидим там файл настроек settings.xml, бинарные файлы и библиотеки. В файле настроек должна присутствовать секция:

Данная опция включает автоматическое обнаружение касс на Linux и мы не видим смысла отказываться от столь удобной функции, тем более что работает она без нареканий.

Теперь нам надо разместить файлы в нужных местах файловой системы и настроить работу утилиты в качестве сервиса. Откроем в текущей директории терминал и поднимем права до суперпользователя. Начнем с настроек, создадим директорию /etc/ATOL/EoU и скопируем туда файл настроек:

Читайте также:  Установка главного электрического автомата

Никаких дополнительных действий по настройке производить не нужно.

Саму утилиту мы разместим в opt (хотя вы можете выбрать иное расположение):

Теперь добавим нужным файлам права на исполнение:

Зарегистрируем утилиту как сервис:

Все, что нам теперь остается, это обеспечить автозагрузку и управление службой средствами системы. Для этого нам придется самостоятельно написать юнит для systemd, но не стоит пугаться, ничего сложного в этом нет.

Прежде всего создадим сам файл юнита:

Откроем его на редактирование и внесем следующий текст:

Сохраним его и добавим в автозагрузку:

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

Можем перезагрузить систему и убедиться, что служба запускается автоматически. Лог работы службы располагается в /var/log/EoU, откроем его и убедимся, что утилита обнаружила кассу и обмен с ОФД проходит нормально:

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

Как видим, ничего сложного в подключении и настройке ККТ АТОЛ в среде Linuх нет, пришлось только немного повозиться с утилитой EoU, но общий уровень проработанности и стабильности ПО от АТОЛ делает это всего лишь незначительным затруднением, тем более что в данном случае вполне справедливо будет высказывание «настроил и забыл».

источник

Настройка EthernetOverUSB (EoU)

Настройка EthernetOverUSB (EoU)

Передача данных в ОФД через тот же USB-кабель (технология EoU), по которому подключена ККМ, на сегодня является самым популярным методом. Рассмотрим его настройку.

Служба EthernetOverUSB реализована в ДТО 8.12.0 (и выше)

В поле ККМ прописывается произвольная информация, определяющая ККМ.

В поле COM-порт прописывается номер VCP (см. ниже) . Драйвера должны быть установлены без «восклицательных знаков» и называться так, как указано на скриншоте. Если драйвер будет иметь другое название, то служба его не увидит и работать не будет.

При подключении ККТ с поддержкой технологии EoU (Ethernet-over-USB) к ПК по интерфейсу USB на последнем создается два виртуальных COM-порта (если не появился второй VCP — см. тут).

Если ОС не смогла установить драйвера автоматически (при наличии установленных ДТО), установка осуществляется вручную. Изготовитель — ATOL group, модель — ATOL FPrint USB.

Один виртуальный COM-порт — для обмена между ККТ и дККТ, второй — для EoU.

Не обязательно, что для связи с драйвером будет задействован порт FPrintUSB0, а для передачи данных FPrintUSB1.

Утилиту необходимо распаковать и поместить в корень диска С

В файле settings.ini (c:\EoU\settings.ini) прописать номер COM-порта, соответствующий работе EoU тестируемой ККТ.

Утилита запускается с параметром -e

Достаточно запускать ярлык c:\EoU\

Утилита должна запускаться каждый раз при работе ККМ, поэтому есть смысл добавить ярлык в автозагрузку.

В настройках ОФД соответственно выбирается одноименный канал обмена.

Если все настройки выполнены успешно, в консоли отобразится сообщение об успешном подключении к порту.

Все описанные ниже действия необходимо выполнять под ROOT -правами

Директорию EthernetOverUsb сохраняем в любое доступное место на диске

Подключаем ФР к ПК через кабель USB.

В ФР должны быть прописаны настройки подключения к ОФД.

В консоли выполняем команду lsusb, в выводе будет получен PID подключенного USB устройства, т.е. ФРа.

Прописываем значение PID в файл

Далее запускаем скрипт “./EthOverUsb.sh -e”, находящийся в директории

Параметр –е нужен для тестирования, в этом случае обмен ФР-ОФД будет выводиться в консоль.

В консоли должно отобразиться сообщение об успешном подключении:

На Ubuntu, как и на Windows, для обмена с офд нужно добавлять в автозагрузку EthOverUsb.sh

ВНИМАНИЕ: Для POS-системы easyPOS nova данные методы не подходят!

Для передачи данных в ОФД необходимо использовать интерфейсы самого ККМ

P.S. Если у Вас возникли проблемы с подключением, настройкой драйвера, передачей данных в ОФД — Вы можете заказать у нас настройку фискальных регистраторов ! Условия — тут.

Похожие записи:

Александр

Но вот только програмка для линукс кривовата немного. Постоянно кушает процессор на 99%. Что не есть хорошо.

master

А что у вас за линукс ? На Debian и Ubuntu работает нормально.

Точно. На одноядерных станциях времени на другой софт не остается.
Выход врубать ее по расписанию, чтобы она передала всю информацию в ОФД и принудительно вырубать.

master

Приведите примеры, если не сложно, на каких ПК или POS-системах у вас есть подобное поведение утилиты ?

4.4.0-72-generic #93-Ubuntu SMP Fri Mar 31 14:07:23 UTC 2017 i686 i686 i686 GNU/Linux

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
828 root 20 0 73276 9488 8936 S 99,3 0,5 388:08.05 EthOverUsb

Читайте также:  Установка в ubuntu project

временно закостылил через

sudo cpulimit -p `pidof EthOverUsb` -l 1 &
При таком раскладе ест 9% процессора.

master

Попробуйте скачать новую версию отсюда

Светлана

Настроили на xPOS (ubuntu) последнюю версию EthOverUsb.sh
Появисля странный глюк, после перезагрузки при оплате по карте ккт отказывается печатать чек.
xPOS пишет — устройство печати недоступно. Заходим в настройки, поиском дергаем уже настроенный порт для ккт — и далее печать чеков при оплате по карте идет уже нормально.
Что интересно, сразу после перезагрузки при оплате за наличные ккт печатает чек нормально.
Отключили в автозапуске (rc.local) EthOverUsb.sh, но глюк так и остался. До установки EthOverUsb.sh на xPOS всё работало нормально…
Что можно сделать? В идеале должны работать и EthOverUsb.sh и xPOS на ккт печатать чеки.
С картами вообще засада, оплата по банку прошла, а чека нет, возврат по терминалу не сделать, чек покупателю не выдать…

master

А какой у вас банк ? Не «Открытие» ?

Светлана

master

Попробуйте уточнить у специалистов Сбера. Так же скорее всего будет обновление xPOS, т.к. свежий релиз Фронтол решил подобную проблему с безналом (п.23 исправления ошибок).

Светлана

Да xPos 1.9.5. Терминал перезагружали и ошибка осталась.

master

Сейчас данный вариант тестируется. Думаю, вам нужно дождаться ответа от поддержки Атол, тем более, что вы эту же информацию им предоставили.

Марсель

При ошибке 235, сбрасывается служба EthernetOverUSB, при том что стоит галочка на автозапуск, приходиться постоянно запускать в ручную. COM-порт стоит все правильно в драйвере ККМ тоже все работает. Т.е. документы в ОФД отправить не может и тем самым Ошибка 235.

master

Запуск службы должен происходить под учётной записью администратора.

Марсель

Запускал от имени администратора, все ровно происходит тоже самое.

master

Ошибка 235 — это следствие, а не причина того, что служба EoU не работает.
Посмотрите лог службы, лог событий Windows. Переустановите Драйвер ККМ 8.14.2

obtim

А если используется отдельная машина с физически присоединенной ККМ(на ней все работает) и надо настроить EoU на терминальном сервере, то надо ли через «Управление драйверами» настраивать автозапуск службы и указывать порт физической машины, через который идет обмен с ОФД??

master

EoU нужно настраивать на локальной машине.

Ильшат

как прописыть значение PID в файл

master

Владислав

Добрый день! Связь вроде как налажена через EoU. Касса работает, чеки выдает, данные в ОФД уходят. Оба COM-порта видны. Но FPrintUSB1 постоянно выдает -14 (Порт занят). Судя по всему, это не дает сделать X и Z отчеты через учетную программу (там выдает ту же ошибку). Как это победить?

master

Проверьте, не поменялись ли местами порты.

Владислав

Как были так и остались. Мне после установки драйвера USB диспетчер устройств все время выдает COM3 и COM4. В драйвере ККТ COM3: FPrintUSB0 и COM4: FPrintUSB1. Соответсвенно, COM3 всегда без проблем видит кассу, а COM4 всегда занят. Служба EthOverUsb запущена, В ячейке «COM порт» выставлено «4».
Может, можно как-то поменять этот COM4 на другой? Есть ли какая-то шпаргалка у вас на эту тему?

master

В Диспетчере устройств можете поставить другой номер порта, в свойствах порта. Потом перезагрузите ПК.

Владислав

Спасибо. Попробовал менять номер порта, но бесполезно. Какой бы порт не ставил вместо COM4 (COM20, COM50, COM150) — все равно после перезагрузки выдает ошибку -14 (порт занят). Есть какие-то еще идеи, на что можно обратить внимание? Хотелось бы настроить именно через EoU, т.к. роутер находится не рядом.

master

Пришлите на почту support@atol.pro скриншот настроек службы EoU и портов из Диспетчера устройств Виндовс.

иванушка

Можно сделать один порт Ethernet через который все настраивается и который не надо подключать в usb!

master

Конечно можно. И этот порт есть ! Но не у всех есть возможность работать через Ethernet.

Владислав

Рабочие машины у нас — это ноутбуки без портов Ethernet, а сам роутер не близко, поэтому для нас EoU — практически единственный способ связи.

Дмитрий

Здравствуйте.
Учетная программа находится на терминальном сервере, там же есть доступ в интернет,
На локальной машине, к которой подключен ФР интернета принципиально нет — возможно ли настроить драйвер, чтобы данные в ОФД отправлял сервер терминалов?

master

Георгий

Подскажите пожалуйста.
В драйвере ккм порт 4 занят всегда, через порт 3 печатает чеки и снимает отчеты.
Однако свяди с офд нет, пишет с диагностическом чеке Приложение EoU Не найдено.
По данной статье если ставить в управлении драйвера порт 4 — ничего не меняется. Так как касса с ним отказывается работать, он занят, а на третьем порту все без изменений.
Если в управлении драйвером указать порт 3 то в самом драйвере ккм он становится занят и касса не работает вовсе. Так как 3й порт мы убили управлением драйвера а 4й и так был занят.

Читайте также:  Установка по производству пенобетона пеноблок

Названия портов в системе правильные

master

Нужно еще раз проверить порты.
1 порт — для связи с ПК
2 порт — для службы EoU

Елена

Добрый день! НЕ запускается служба EthernetOverUSB (EoU). Пишет Code: 1023

master

До этого работала ? Какие-то антивирусные программы установлены ?

Vladimir

При попытке запуска как под root так и под пользователем ./EthOverUsb.sh -e выдаёт:
./EthOverUsb.sh: line 16: /home/buch/EthernetOverUsb/./EthOverUsb: Отказано в доступе
В чем может быть дело? chmod +x ./EthOverUsb.sh сделап.

master

Права рутовые на папку и все вложенные файлы есть ?

Tamerlan

Здравствуйте. Подскажите пожалуйста как ubuntu установить usb драйвер атол 11ф или штрих онлайн?

master

Linux использует или библиотеку драйвера Атол, или библиотеку usb-драйверов (в старых версиях). Дополнительно там ничего устанавливать не нужно.

tamerlan

он должен автоматический установить?

master

Под Линукс идут 9-е драйвера Атол. Файл .sh делается запускаемым, и запускайте тест драйвера.

Мария

Что делать, если виден только один COM-порт?
После обновления винды перестали чеки в ОФД уходить, остался один порт и все.

master

Вам нужно настроить передачу данных. Смотрите тут

Кирилл

Добрый день,
Касса работала несколько месяцев , но после обновления Винды порты слетели и остался один. В диспетчере задач восстановил два. В службе EthernetOverUSB поставил нужный порт, но все равно пишет, что порт занят и чеки не уходят. В чем может быть проблема?

master

Проверьте, скорее всего после обновления порты поменялись местами. Если не сможете разобраться — закажите подключение, поможем.

Aleshka

Доброго дня
А кто заставлял работать EthOverUsb с двумя ФР.
стоит 2 штуки атол 11Ф, чеки уходят только с одного, если при загрузке системы не включить его, то второй отправит чеки.
под вин можно же с 2-х слать с 2-х фр. у кого какие мысли?

Aleshka

Если в файл settings.ini прописать com а не pid то работает по прежнему 1 фр.
как туда записать 2 штуки?

Ruslan

2018-05-06 10:50:28.687 INFO [COM-Atol] Opening COM4…
2018-05-06 10:50:28.687 ERROR [COM-Atol] No such file or directory

master

В настройках нужно прописывать номер порта.

На ДТО 9.12.2 не получается настроить порт. Странно игнорирует settings.xml Какой бы порт не прописывал упорно обращается к COM4. Из руководства

Все равно стучится на COM4. Как исправить ? Кто сталкивался ?

master

Нужно создавать файлик USE_LOCAL_CONFIG

евгений

в некоторый момент при печати чека на линусах ( достаточно редко) 200 машин 2-3 раза в неделю
атол 11ф
отваливается кассовый пишет в лог
[2018.07.18 11:54:34+728 D T:0000001340:00001597] >> CreateFptrInterface()
[2018.07.18 11:54:34+728 U T:0000001340:00001597] Создание объекта Fptr(0x0x7fa500d8)
[2018.07.18 11:54:34+728 U T:0000001340:00001597] Версия драйвера — 9.11.2.6032
[2018.07.18 11:54:34+728 U T:0000001340:00001597] Объект Fptr(0x0x7fa500d8) использует модель 27.0 (0x7fa63ff0)
[2018.07.18 11:54:34+729 D T:0000001340:00001597] >> ResetSingleSettings()
[2018.07.18 11:54:34+729 D T:0000001340:00001597] >> put_DeviceSingleSetting() Port = USB
[2018.07.18 11:54:34+729 D T:0000001340:00001597] >> put_DeviceSingleSetting() V > [2018.07.18 11:54:34+729 D T:0000001340:00001597] >> put_DeviceSingleSetting() P > [2018.07.18 11:54:34+729 D T:0000001340:00001597] >> put_DeviceSingleSetting() Model = 67
[2018.07.18 11:54:34+729 D T:0000001340:00001597] >> put_DeviceSingleSetting() BaudRate = 115200
[2018.07.18 11:54:34+729 D T:0000001340:00001597] >> ApplySingleSettings()
[2018.07.18 11:54:34+729 U T:0000001340:00001597] Объект Fptr(0x0x7fa500d8) использует модель 67.0 (0x7fa63f28)
[2018.07.18 11:54:34+729 D T:0000001340:00001597] >> ResetSingleSettings()
[2018.07.18 11:54:34+729 D T:0000001340:00001597] >> put_DeviceSingleSetting() SearchDir = /usr/java/packages/lib/i386:/lib:/usr/lib
[2018.07.18 11:54:34+729 D T:0000001340:00001597] >> ApplySingleSettings()
[2018.07.18 11:54:34+730 U T:0000001340:00001597] Объект Fptr(0x0x7fa500d8) использует модель 67.0 (0x7f20afc8)
[2018.07.18 11:54:34+730 D T:0000001340:00001597] >> ResetSingleSettings()
[2018.07.18 11:54:34+730 D T:0000001340:00001597] >> put_DeviceEnabled() 1
[2018.07.18 11:54:34+731 U T:0000001340:00001597] Включение объекта Fptr(0x0x7fa500d8)
[2018.07.18 11:54:34+957 D T:0000001340:00001597] >> GetStatus()
[2018.07.18 11:54:34+957 D T:0000001340:00001597] send A5 (1 bytes total)
[2018.07.18 11:54:34+957 P T:0000001340:00001597] abrt C4 (1 bytes total)
[2018.07.18 11:54:34+957 P T:0000001340:00001597] send transport (D2) FE 01 00 D2 C4 1F (6 bytes total)
[2018.07.18 11:54:34+966 D T:0000001340:00001597] usb write error = Input/Output Error
[2018.07.18 11:54:42+418 D T:0000001340:00001597] usb write error = Pipe error
[2018.07.18 11:54:43+635 D T:0000001340:00001597] usb write error = Pipe error
[2018.07.18 11:54:44+854 D T:0000001340:00001597] usb write error = Pipe error
[2018.07.18 11:54:46+071 D T:0000001340:00001597] usb write error = Pipe error
[2018.07.18 11:54:47+289 D T:0000001340:00001597] usb write error = Pipe error
помогает только перзаргузка

master

А что за прошивка у аппарата ?

Сергей

добрый день. Что не так делаем?
рут права выставлены
./EthOverUsb.sh: строка 16: /home/EoU/EthOverUsb: Нет такого файла или каталога
root@silkhouse-ESPRIMO-E510:/home/EoU# ./EthOverUsb.sh -e
./EthOverUsb.sh: строка 16: /home/EoU/EthOverUsb: Отказано в доступе

master

Необходимо внимательнее смотреть в инструкцию по службе EoU, расположение файлов, кому и какие права давать.

источник