В свете недавних указов президента посыпались вопросы от заказчиков, а есть ли %конфигуратор устройства не поддерживаемый цать лет, разработчики которого уволились или сбежали из России% под 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, но предлагать как нужно было сделать проще и быстрее.

Комментарии (12)


  1. Weron2
    06.07.2022 02:43
    +2

    Почему бы и нет) В любом случае полезно, и может кому-то пригодиться


  1. kai3341
    06.07.2022 08:31

    Я так когда-то успешно боролся с энергомеровскими счётчиками


  1. sbr2004
    06.07.2022 09:12

    Главное, что все отечественное.


    1. Funny_Meerkat
      06.07.2022 11:10

      а на что можно заменить тайваньскую MOXA?


      1. neboxodov Автор
        06.07.2022 11:16

        На много что. Если брать как конвертер usb-RS485 как вариант спаять самому на MAX485. Эту железку брал по тому что была под рукой.


      1. vyatkh1
        06.07.2022 12:00

        teleofis, например, мы юзали



  1. Maxxxxxx
    06.07.2022 10:53
    +1

    Больше всего понравилось: "мы должны использовать отечественное ПО в следствие чего дистрибутив будет Astra Linux SE 1.7.1 ОРЕЛ "


  1. teakettle
    06.07.2022 11:37
    +1

    Не знаю, как в "SE 1.7.1 ОРЕЛ", на "Asrta Linux CE 2.12.44 (Orel)" (актуальные на сегодня обновления) моха юпорт 1110 заработала "искаропки" (только что убедился), подозреваю, что 1150 так же заработает.

    В Debian одно время мучился сборкой драйверов для этой самой мохи, пока не узнал про пакет firmware-misc-nonfree, в который этот самый драйвер входит и обновляется вместе с системой, не требуя пересборки под каждое обновление ядра.


    1. DaemonGloom
      07.07.2022 12:16

      А moxa с родным драйвером там работает в качестве 485 адаптера или только 232?


      1. teakettle
        07.07.2022 18:17

        Та железка, что у меня есть в наличии (uPort 1110) умеет ТОЛЬКО в RS-232. Остальные проверить не могу - у меня их нет физически, увы...


  1. st1373
    08.07.2022 20:25

    а чем плохи китайские usb-rs485? гальваники нет ни там ни тут, ну вот у меня 3 устройства общаются на max485 и крайнее-мастер (arduino-nano) сливает по usb-com (/dev/ttyUSB0) данные на линукс-сервер, добавляя свои данные, был бы сервер под вин я бы использовал этот переходник и там структура была бы заточена под него, а так независимая система. Я просто ценик МОХА посмотрел и сильно удивился