Работаем со старым промышленным софтом под linux или как подружить wine и RS-485

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

В свете недавних указов президента посыпались вопрос от заказчиков, а есть ли %конфигуратор устройства не поддерживаемый цать лет, разработчики которого уволились или сбежали из России% под linux?

В следствие чего была из синей ленты, остатков бубна и обрывочных знаний по linux данная инструкция.

Надеюсь она пригодиться коллегам занимающимся наладкой и эксплуатацией АСУ ТП

Не забываем что мы должны использовать отечественное по в следствие чего справедлива для Astra Linux SE 1.7.1 ОРЕЛ

Предполагается, что система установлена и подключена к интернету.

В качестве СОМ-порта использовался MOXA Uport 1150, перед настройкой необходимо подключить MOXA Uport к USB-порту ПК. При использовании другого устройства его необходимо настроить в соответствии с поставляемым мануалом.

Установка Wine

Основная инструкция (актуальная) тут.

нас интересует "Установка Wine версии 7.3 в Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)"

По шагам:

1. Скачать пакет Wine 7.3 отсюда и пакет ia32-libs отсюда.

2. Открыть терминал Fly и ввести команды по порядку:

sudo apt install ia32-libs

sudo apt install libc6-i386 

sudo dpkg -i ~/Загрузки/ia32-libs_20220330+1.7se_amd64.deb 

# Имя текущей версии пакета, со временем она может быть изменена. 

sudo dpkg -i ~/Загрузки/wine_7.3-0-astra-se17_amd64.deb 

# Имя текущей версии пакета, со временем она может быть изменена. 

sudo apt install ca-certificates libmspack0 cabextract 

wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks 

chmod +x winetricks 

sudo mv winetricks /usr/bin 

export WINE=/opt/wine-7.3/bin/wine

# для быстрого запуска из консоли

Рабочая директория WINE будет находится по адресу /opt/wine-7.3/bin/

Установка драйвера MOXA Uport 1150

Драйвер нужен под конкретную версию ядра качать с оф сайта или отсюда.

посмотреть версию ядра можно командой в терминале uname -r

На текущий момент это 5.10, скачать драйвер v.5.1.

Далее по шагам:

1.  Открываем терминал fly и вводим последовательно команды:

sudo apt install make linux-headers setserial autotools-dev 

sudo mkdir /moxa 

cd /moxa 

sudo cp /home/user/Загрузки/moxa-uport-1100-series-linux-kernel-5.x-driver-v5.1 moxa-uport-1100-series-linux-kernel-5.x-driver-v5.1

# user заменить на своего 

sudo tar xvfz moxa-uport-1100-series-linux-kernel-5.x-driver-v5.1.tgz 

cd mxu11x0/driver 

sudo make clean 

sudo make install 

# Если во время выполнения команды "make install" возникает ошибка, то выполняем 

# "sudo apt install --reinstall linux-headers-$(uname -r)" и повторно выполняем "make install"; 

/sbin/modprobe mxu11x0

2. Переводим Uport в режим 485 2W с помощью команды а терминале: setserial /dev/ttyUSB0 port 1

номер порта можно посмотреть командой sudo ls /dev/ttyU*

варианты настройки:

port 0 →  RS-232

port 1 → RS-485 2W

port 2 → RS-422

port 3 → RS-485 4W

Настройка WINE для работы с СОМ-портами и ПО

С помощью файлового менеджера (проводника) идем в /opt/wine-7.3/bin/ и запускаем regedit

В разделе реестра [HKEY_LOCAL_MACHINE\Software\Wine\Ports] создаем СТРОКОВУЮ переменную:

"com1"="/dev/ttyUSB0"

Закрываем regedit.

Запускаем winecfg и меняем windows версию на Windows XP или windows 2003:

Применяем и закрываем Winecfg.

Далее создаем символическую ссылку на нужный нам СОМ-порт:

sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1
Если com1 уже существует, можно удалить его и заново создать ссылку:

sudo rm ~/.wine/dosdevices/com1
sudo ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1

Чтобы не менять права на СОМ-порт, необходимо добавить текущего пользователя в dialout командой:
sudo adduser <your_username> dialout
затем ВЫЙТИ из системы и зайти заново.

Скачиваем ПО в любую папку в домашней директории и запускаем ее из менеджера файлов (проводника) двойным щелчком. в списке выбора приложений жмем на другая... и выбираем wine из /opt/wine-7.3/bin/:

Чтобы в следующий раз exe формат открывался через WINE можно установить его по умолчанию:

Далее можно пользоваться необходимым ПО.

Всё это прогрызание кактуса выполнялось для запуска определенных видов промышленного ПО и каждое работало по своему

Сканер устройств по com порту - при открытии будет спрашивать о замене sys файлов - ответить нет.

Может долго искать или падать с ошибками - просто перезапустить. Если будет находить приборы на других СОМ-портах или долго виснуть, то лучше удалить все символические ссылки на СОМ-порты кроме нужного:

sudo rm ~/.wine/dosdevices/comN
где N - номер лишнего СОМ-порта.

Конфигуратор оборудования - может падать с ошибками - просто перезапустить.
В целом 3 из 5 программ отработали без замечаний.

Автора данной статьи можно пинать ногами, обзывать ламером не умеющим в linux, но предлагать как нужно было сделать проще и быстрее.

Источник: https://habr.com/ru/post/675298/


Интересные статьи

Интересные статьи

В предыдущих статьях описано, как мы учились дебажить загрузчик u-boot: 1, 2. С ядром все оказалось сложнее. Например, выяснилось, что ядро Linux в принице невозможно скомпилировать с отключенной опти...
Относительно короткая история о том как я хотел поиграть на midi-клавиатуре, но не совладал с аудиоподсистемами линуха...
В различных бизнес-приложениях регулярно возникает необходимость решить какую-либо задачу с отрезками/интервалами. Самое сложное в них — понять, что это именно одна из таких задач. К...
Есть несколько способов добавить водяной знак в Битрикс. Рассмотрим два способа.
Мы вспомнили о первых коммерческих дистрибутивах Linux, которые выходили в 90-х. Теперь пришло время 2000-х — периода, когда эта ОС начала завоевывать потребительские рынки. ...