- Com port linux wine
- Работаем со старым промышленным софтом под linux или как подружить wine и RS-485
- Установка Wine
- Установка драйвера MOXA Uport 1150
- Настройка WINE для работы с СОМ-портами и ПО
- Всё это прогрызание кактуса выполнялось для запуска определенных видов промышленного ПО и каждое работало по своему
- wine + com порт
- Re: wine + com порт
- Re: wine + com порт
- Re: wine + com порт
- Re: wine + com порт
- Com port linux wine
- Set up the serial port in Wine
Com port linux wine
Когда Wine запускается, последовательные и параллельные порты определяются автоматически. Windows именует свои последовательные порты как COM, за которым идет номер, например COM1, COM2, и т. д. Подобным образом параллельные порты получают в Windows имя LPT с номером, как например LPT1. Linux, Mac и BSD имеют свои принципы назначения имен устройствам, но в каждом случае последовательные или параллельные порты размещаются в виде файлов нулевого размера в каталоге /dev. Вы можете увидеть отображение устройств Windows на устройства Unix, если просмотрите ~/.wine/dosdevices.
$ ls -l ~/.wine/dosdevices/ total 0 lrwxrwxrwx 1 alex alex 10 May 13 21:21 c: -> ../drive_c lrwxrwxrwx 1 alex alex 10 May 14 14:43 com1 -> /dev/ttyS0 lrwxrwxrwx 1 alex alex 10 May 14 14:43 com2 -> /dev/ttyS1 lrwxrwxrwx 1 alex alex 10 May 14 14:43 com3 -> /dev/ttyS2 lrwxrwxrwx 1 alex alex 10 May 14 14:43 com4 -> /dev/ttyS3 lrwxrwxrwx 1 alex alex 12 May 14 14:43 com5 -> /dev/ttyUSB0 lrwxrwxrwx 1 alex alex 8 May 13 21:22 d:: -> /dev/sr0 lrwxrwxrwx 1 alex alex 8 May 14 14:43 lpt1 -> /dev/lp0 lrwxrwxrwx 1 alex alex 1 May 13 21:21 z: -> /
Убедитесь, что имеете достаточно прав для доступа к вашим последовательным и параллельным портам. На Linux пользователь должен быть членом группы sys или dialout, чтобы он мог получить доступ к последовательным портам, или членом группы lp для доступа к параллельным портам.
Чтобы поменять отображение устройств Wine по умолчанию, запустите wine regedit , и создайте строковые записи в HKEY_LOCAL_MACHINE\Software\Wine\Ports , где имя записи это имя устройства Windows, и значение записи это путь до устройства системы Unix. Если рассмотреть пример выше, то чтобы сделать COM1 соответствующим первому подключенному преобразователю USB-serial, создайте запись с именем COM1 и значением /dev/ttyUSB0. Также вы можете захотеть создать запись с именем COM5 без значения, чтобы удалить устройство COM5, которое теперь дублирует COM1. После редактирования реестра выгрузите Wine командой wineserver -k , и в следующий раз, когда Wine запустит программу, сделанные вами изменения вступят в силу.
Как добавить пользователя в группу sys:
$ sudo usermod -a -G sys имяпользователя $ grep sys: /etc/group sys:x:3:имяпользователя
Перезагрузите компьютер, чтобы изменения вступили в силу.
1. Serial and Parallel Ports site:wiki.winehq.org.
Работаем со старым промышленным софтом под 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
sudo mv winetricks /usr/bin
# для быстрого запуска из консоли
Рабочая директория 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 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
sudo tar xvfz moxa-uport-1100-series-linux-kernel-5.x-driver-v5.1.tgz
# Если во время выполнения команды «make install» возникает ошибка, то выполняем
# «sudo apt install —reinstall linux-headers-$(uname -r)» и повторно выполняем «make install»;
2. Переводим Uport в режим 485 2W с помощью команды в терминале: setserial /dev/ttyUSB0 port 1
номер порта можно посмотреть командой sudo ls /dev/ttyU*
Настройка WINE для работы с СОМ-портами и ПО
С помощью файлового менеджера (проводника) идем в /opt/wine-7.3/bin/ и запускаем regedit
В разделе реестра [HKEY_LOCAL_MACHINE\Software\Wine\Ports] создаем СТРОКОВУЮ переменную:
Запускаем 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 dialout
затем ВЫЙТИ из системы и зайти заново.
Скачиваем ПО в любую папку в домашней директории и запускаем из менеджера файлов (проводника) двойным щелчком. в списке выбора приложений жмем на другая. и выбираем wine из /opt/wine-7.3/bin/:
Чтобы в следующий раз exe формат открывался через WINE можно установить его по умолчанию:
Далее можно пользоваться необходимым ПО.
Всё это прогрызание кактуса выполнялось для запуска определенных видов промышленного ПО и каждое работало по своему
Сканер устройств по com порту — при открытии будет спрашивать о замене sys файлов — ответить нет.
Может долго искать или падать с ошибками — просто перезапустить. Если будет находить приборы на других СОМ-портах или долго виснуть, то лучше удалить все символические ссылки на СОМ-порты кроме нужного:
sudo rm ~/.wine/dosdevices/comN
где N — номер лишнего СОМ-порта.
Конфигуратор оборудования — может падать с ошибками — просто перезапустить.
В целом 3 из 5 программ отработали без замечаний.
Автора данной статьи можно пинать ногами, обзывать ламером не умеющим в linux, но предлагать как нужно было сделать проще и быстрее.
wine + com порт
Как можно сконфигурировать wine, чтобы она видела определенный com-порт как свое виндовое устройство (чтобы потом его можно было использовать из запущенной win-программы). И как вообще можно посмотреть, какие устройства внутри вайн доступны? В конфигах похожих разделов не нашел, графического девайс-менеджера тоже
Re: wine + com порт
Я ничего не конфигурял, у меня работало
Re: wine + com порт
Хорошо, тогда другой вопрос — можно как-нибудь сделать, чтобы система воспринимала подключенный через usb кабель как как будто он подключен через com-порт? Я понимаю, что в принципе простой подмены файла девайса может быть недостаточно и нужны какие-нибудь дополнительные драйверы или специальные эмуляторы, но первая мысль была указать где-нибудь в файле конфигурации вайна что-нибудь типа такой строки:
Re: wine + com порт
a wine тут не причем. Сначала ядром должен поддерживаться твой девайс, который usb_to_comm потом, если счастье есть, появится что то вроде /dev/ttyUSB0 Дальше возможны варианты. раньше в конфиге вайна можно было писать так: [serialports] Com1=/dev/ttyS0 Com2=/dev/ttyUSB0 Com3=/dev/modem,38400 Com4=/dev/modem Сейчас чего то поменялось, вроде. Но всегда можно сделать линк в /dev ttyUSB1 на ttyS0, но это не правильно наверное, все таки.
Re: wine + com порт
посмотрел man wine 🙂 щас все проще — ~/.wine/dosdevices содержит ссылки на доступные девайсы — например com1 -> /dev/ttyS0
Com port linux wine
Analog and digital electronics · Arduino projects · Development boards · DIY · Technology related stuff
Set up the serial port in Wine
Posted by: Cornelius One Transistor Posted on: December 11, 2015 Updated on: 2018-11-11T21:03:50Z
How to configure serial ports in Wine Windows compatibility layer. Access hardware COM ports from Windows application running within Linux.
The serial port is not of much use today, but there are still some things that rely on serial port communication. For example DIY microcontrollers electronics projects or some firmware updaters require connecting devices via serial port.
Another issue is that modern computers no longer have serial ports. But this can be easily solved by using a USB-to-serial adapter when you need a serial port.
Windows detects and names serial ports as COM1, COM2, COM3, etc. It doesn’t make the difference between genuine ports or USB adapters. Linux on the other hand names hardware ports as /dev/ttyS0, /dev/ttyS1, /dev/ttyS2, etc. and USB adapter ports as /dev/ttyUSB0, /dev/ttyUSB1, /dev/ttyUSB2, etc.
The question is how do you map a Wine Windows serial port to a Linux device. Most answers I was able to find said you just have to add a symbolic link to the port in Wine’s dosdevices directory. But when I did that, the STB firmware updater I was trying to use still didn’t detect any serial port.
No serial port detected in Wine |
So, here is what I did to make it work. First of all, unless you want to run Wine each time as root, add yourself to the dialout group, so you can access serial ports without root permissions. This can be done from Terminal:
You should log off and back in for the changes to take effect. This affects not only Wine, but all other Linux application that need serial port access.
Good news! Starting from Wine version 2.8, giving user access to serial ports is the only thing you need to do. Ports should be detected automatically.
The updated Wiki claims Wine detects ports when it is run. You should look in ~/.wine/dosdevices folder for links to tty ports. If they are missing, proceed as follows.
The first step is to make the necessary symbolic links. Again, in Terminal:
ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1 ln -s /dev/ttyS0 ~/.wine/dosdevices/com2
Adapt these commands for your situation. The first one is needed if you use a serial to USB adapter while the second one is for hardware motherboard ports. Add a symbolic link for each of the available serial ports. This command actually gives access to serial ports from Wine. And any Windows software where you can manually edit the serial port will work with only this. However many Windows apps allow user to select a port from a detected ports list. And they will detect nothing in Wine.
Now you need to add a Wine registry key as stated on Strangen0tes blog. Although you could use Wine’s regedit, it is easier to launch a text editor and add the required registry key(s). In Terminal:
What you should add here is not clearly known, so you should try with the following options from Wine Wiki until you find something that works.
This is the common option that works with most applications:
[Hardware\\Devicemap\\Serialcomm] 1231984861 "Serial0"="COM1"
[Hardware\\Devicemap\\Serialcomm] 1131331688 "COM1"="COM1"
Both worked for me. Yet there may be apps that don’t read this registry key when looking for serial ports.
The association between COMx and /dev/ttyX is made in the symbolic link you made earlier.
If you use Linux and rely on a Windows only serial port application, besides virtualization, you could use Wine. If you configure it, most Windows applications will be able to detect and use the serial ports. Have you succeeded?