LINUX.ORG.RU

Как подключить драйверы Атол для Linux

 


0

3

Здравствуйте! Есть лицензии Frontol Driver Unit (FDU). Мы с их помощью прогружаем весы с печатью этикеток из 1С: Розница. Теперь появилась нужда переезда на Линукс. Всё, что нужно было работнику ранее работает на Линукс Минт нормально (1С; КриптоПро; УТМ), но вот с FDU проблема - у Атол нет версии для Линукса. Кто-нибудь пробовал запускать это ПО под Линуксом?

Wine, Proton в помощь. Если нет версии для линукс можно хоть виртуальную машину с виндой поднять. Что за Атол мне безынтересно - раз нет версии, то сначала лучше поискать аналог, чем пользоваться программой от окаменелых мамонтов, которым нравится только винда. Wine это потенциальная уязвимость, так как позволяет запускать много каки из венды. Я уж молчу о том что для бизнеса нормальные люди выберут Hardened ветку ядра Linux, ну или HardenedBSD, OpenBSD, Solaris.

anonymous
()

Весы и модули взвешивающие МАССА-К могут быть подключены к различным POS-терминалам с помощью программной компоненты «АТОЛ: Драйвер электронных весов». При таком подключении, POS-терминал самостоятельно получит вес товара и вычислит его стоимость. Весы и модули могут быть подключены через разъемы RS-232 или USB (интерфейс RS-232).

Ну с подключением все понятно а что и через что этот ваш FDU делать то должен?

anonymous
()
Ответ на: комментарий от anonymous

FDU - это набор драйверов торгового оборудования. Конкретно в этом случае с помощью FDU, который подключается в 1С: Розница происходит выгрузка товаров в весы с печатью этикеток (CAS 1.6; Штрих-Принт) по Ethernet. Но без лицензии даже в Винде это работать не будет. Поэтому воткнут ключ Guardant Stealth, на котором лежит лицензия.

ragnar40
() автор топика
Ответ на: комментарий от Jullyfish

Весы CAS 1.6 Ethernet; Штрих-Принт. К Атол сейчас нельзя обратиться никак, только к партнерам, которые продают ПО. К ним обращался, они не знают и никогда не пробовали. Дело в том, что у Атол есть продукт для Линукса - Frontol XPOS3. Это кассовое ПО, в которое уже интегрированы все драйвера. То есть теоретическая возможность прицепить драйвера к Линукс есть. Я пытался установить через ПортПротон - не встаёт служба fdsvc и, соответственно драйвер не запускается.

ragnar40
() автор топика
Ответ на: комментарий от ragnar40

Я пытался установить через ПортПротон

Wine не подходит для USB.

служба fdsvc

Для запуска игр сервисы не нужны.

К Атол сейчас нельзя обратиться никак, только к партнерам, которые продают ПО. К ним обращался, они не знают и никогда не пробовали.

Пробовали или нет, контакт с Атол у них есть, пусть передают твой вопрос.

anonymous
()
Ответ на: комментарий от ragnar40

Ну, у тебя всё равно два варианта: ждать, либо взять WireShark и отреверсить протокол (драйвер ядра, я так понимаю, здесь не нужен, может быть достаточно libusb). Но лучше, конечно, чтобы свою работу сделал Атол. Меня вообще удивляет, что у них вдруг нет драйвера под Linux для чего-то.

anonymous
()
Ответ на: комментарий от anonymous

Драйверов под Линукс много у чего нет. Попытался на офсайте найти др-р для ключа Guardant stealth II - нету. Только виндовые. А ключ распространенный. Очень много торгового и промышленного оборудования на нем работает. Вот сейчас на Линукс Минт попробовал - всё хорошо, всё работает отлично, но вот такой затык с распространенным вроде оборудованием ломает всё на корню.

ragnar40
() автор топика
Ответ на: комментарий от anonymous

Лицензия для драйвера весов. Если нет этого ключа, то не запускается служба. И, соответственно, не работает внешняя компонента весов в 1С, которая и отвечает за выгрузку в весы.

ragnar40
() автор топика
Ответ на: комментарий от anonymous

Виртуалку там не поставить - ресурсов не хватит, компы операторов в минимальном исполнении. Отчасти поэтому и хочу перейти на Линукс. Пока вижу выход временный - это для прогрузки весов использовать RDP к серверу с установленным ключом для терминальных сессий. И выгружать оттуда.

ragnar40
() автор топика
Ответ на: комментарий от ragnar40

Это довольно сложная задача, здесь нет ни ответа, ни подсказки. Анон, кажется, правильно подсказывает про wireshark. Но это такая подсказка, легче не станет. Нужен кто-то, кто сможет всё это сделать руками.

kaldeon ☕☕☕☕☕
()
Ответ на: комментарий от ragnar40

Вас ввели в заблуждение:

Драйвер называется CH341SER.SYS и он есть под линуксом.

Вам требуется шлюз, который обращается с интерфейсом весов и транслирует данные в 1C.

steemandlinux
()
Последнее исправление: steemandlinux (всего исправлений: 1)
Ответ на: комментарий от ragnar40

Далеко.

rs-232 может быть до 15 метров длинной. С последовательным портом Linux точно умеет работать, но будет ли он работать с весами – хз.

Я бы попробовал весы перенести к компьютеру, потестировал с последовательным портом, если взлетит, то можно купить переходники RJ-45 - DB9F. Чтобы тем же интернет кабелем подключиться к весами и не тянуть новый.

Jullyfish
()
Ответ на: комментарий от ragnar40

В руководстве пользователя написано, что драйверы выполнены в виде DLL модулей, реализующих два интерфейса: COM и интерфейс внешних компонент 1С:Предприятие. Т.е. драйверы не ядерные, а вполне себе юзерспейсные, загружаются в адресное пространство процесса 1С. Может надо искать в документации к линукс-версии 1С, умеет ли она загружать внешние компоненты из DLL (как виндоус-версия)?

iliyap 👍
()
Ответ на: комментарий от Jullyfish

Если есть ethernet, то да. Но там шлюз нужен для подключения 1C, либо в самой 1C писать код для подключения весов. Но для 1C я никогда не писал, мы как современные разрабы гоним данные в message queue broker.

steemandlinux
()
Последнее исправление: steemandlinux (всего исправлений: 1)
Ответ на: комментарий от anonymous

А для поддержки nfs, iscsi, smb нужен драйвер или что? Там ведь нет поддержки физического устройства.

Это модули ядра. А ещё они называются виртуальными драйверами.

steemandlinux
()
Последнее исправление: steemandlinux (всего исправлений: 1)

Такие штуки имеют обычно простенький протокол по последовательному порту. Сомневаюсь, что под линукс вообще какой-то драйвер нужен. Оно наверняка просто как /dev/ttyUSBn видно, и в туда надо читать-писать несложные текстовые команды. Скорее всего описание команд протокола можно стрясти с производителя.

Может быть там просто два девайса - весы и принтер. Тогда вообще просто - весы тупо плюются весом и нажатой кнопкой в текстовом виде, а принтеры для всяких чеков и ценников имеют стандартизированные и хорошо описанные протоколы типа ECS (или ESC), ZPL и т.д.

Под нынешней вендой, если например, VID:PID девайса не находятся среди имеющихся драйверов, то даже какой-нибудь CDC класс не поможет. Поэтому нужно устанавливать «драйвер», пусть даже состоящий только из driver.inf и driver.cat с подписью, в котором тупо указывается венде, что надо стандартный USB Serial загрузить для этого VID:PID.

Под линуксом таких проблем не было и нет. Поэтому и какой-то драйвер для подобного девайса не нужен.

Если имеется ввиду не драйвер железки, а «драйвер» для 1С который реализует какой-нибудь итерфейс понятный искаропки для 1С, то не думаю что там что-то замороченное. Напиши сам, наверняка у 1С есть спецификация для таких костыликов.

Stanson ☕☕☕☕☕
()
Ответ на: комментарий от anonymous

А про «драйвер» тогда тоже понятно - это не драйвер девайса, а плагин для 1С который что-то там посылает на указанный IP. Плагин возможно на язычке 1С. Кстати, а 1Сный язычок разве не кроссплатформенный?

Stanson ☕☕☕☕☕
()
Ответ на: комментарий от Stanson

а 1Сный язычок разве не кроссплатформенный?

https://infostart.ru/1c/tools/1515974/

Ну как думаешь, подобная мерзота кроссплатформенная? Люди в 21 веке используют то, что сдохло ещё с крахом доткомов.

steemandlinux
()
Ответ на: комментарий от steemandlinux

Ну так в венде без этих костылей не получится работать с железом. В линуксе таких проблем нет - девайс представлен файлом (кроме сетевых девайсов, увы) и всё что нужно для работы - права на запись/чтение этого файла для юзера из-под которого запущена софтина.

В линуксовой версии 1С наверняка тоже можно вот так:

&НаКлиенте
Процедура ОткрытьПорт()
	КомПорт                 = Новый COMОбъект("MsCommLib.MsComm");
	КомПорт.CommPort        = НомерПорта;
	КомПорт.Settings        = "9600,N,8,1";
	КомПорт.RThreshold        = 1;
	КомПорт.PortOpen         = Истина;
	ДобавитьОбработчик КомПорт.OnComm, ПолученыДанные;
КонецПроцедуры

Просто в отличии от венды в линуксовой версии вообще не нужны никакие костыли между интерпретатором язычка и девайсом, т.е. КомПорт = Новый Файл("/dev/ttyUSB0"); или как там в 1Сном язычке принято работать с файлами. Всякие скорости и пр можно вообще каким-нибудь stty заранее выставить при подключении девайса, если требуется.

Не, 1Сники ещё те клоуны, но вряд-ли они специально сделали какой-то специальный запрет на открытие файлов из /dev в язычке.

Stanson ☕☕☕☕☕
()
Ответ на: комментарий от Stanson

язык возможно.
ПО по русской традиции прибит ржавыми гвоздями к винде. микрософтерам надо памятник платиновый пиратам ставить, за распространение и продвижение !!

pfg 👍👍👍
()
Ответ на: комментарий от pfg

Я тут начал разбираться, почему OPC-DA нельзя реализовать вне Windows, так оказывается DCOM это объекты, которые пускают через внешние интерфейсы типа ethernet или serial. Они до краха доткомов пытались прогнуть абсолютно всё под себя.

steemandlinux
()
Последнее исправление: steemandlinux (всего исправлений: 1)