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)