Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Запуск специализированного Windows-ПО  (Прочитано 4889 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн aaaSashaMGGU

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Всем здравствуйте. Уж не знаю, в какой раздел форума положить этот вопрос - так что, положу в этот.
Сам я сейчас на Ubuntu, раньше долгое время на РФР, но у меня проблема не с конкретным DE или производителем дистрибутива, а проблема с Linuxом вообще.
В общем, суть такая.
Имеется специализированное ПО, написанное в Windows (на Borland) и для Windows. Scada-система. На контроллерах (низ) крутится программа (там WinCE, но это неважно). На армах (верх) также крутится программа. Верх при запуске соединяется с низом и выводит на экран параметры с низа. Всё просто.
Приложение, в целом, успешно работает под Wine. Но, увы, только когда мой ноутбук соединён со свитчем скады по Ethernet.
Если зацепиться по Wi-Fi, то приложение вылетает при запуске. Вот хоть убей не могу понять, в чём вообще разница? Что по Ethernet, что по Wi-Fi спокойно работают сеть, телнет (по нему идёт настройка контроллеров), ftp для связи с контроллерами и т.д. Работает всё, кроме самого ПО. С Ethernet всё отлично.

Лог успешного запуска (когда по Ethernet):
TKA_VERSION=6.8.45 (6845)7301  07301
bMode=0
bMode=1
3
wr=0
Network adapter configuration
Adapter Description: eth0
IP Address(s): 192.168.1.112
Adapter Description: wlan0
IP Address(s): 192.168.1.113
input  ip = 192.168.1.113 port = 50000
input  ip = 192.168.1.112 port = 50000
output ip = 192.168.1.113 port = 50001
output ip = 192.168.1.112 port = 50001
4
07301_Ch_Sock 0
07301_Ch_Sock 0
07301_Ch_Sock 0
07301_Ch_Sock 0
07301_Ch_Sock 0
07301_Ch_Sock 0
RASNUM=5
FNANE=C:\07201RAS
bN=17
RASNUM=5
FNANE=C:\07202RAS
bN=35
RASNUM=1
FNANE=C:\07203RAS
bN=51
RASNUM=1
FNANE=C:\07204RAS
bN=67
bN=76
bN=77
err:ole:create_server class {162324a6-23b3-4d09-a190-f2a5acfc58b1} not registered
err:ole:CoGetClassObject no class object {162324a6-23b3-4d09-a190-f2a5acfc58b1} could be created for context 0x4
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
Элемент "блокировки07" не найден в блоке "Мнемосхемы"                                                       
TKA has been loaded
TKA_VERSION=6.8.45 (6845)                                                                                   
NPar=0 MaxLTape=0 MaxLMaster=0 LTape=0 LMaster=0                                                             
fuz АСУП01_Ячейка_01_01 : no find isp 0
fuz АСУП01_Ячейка_01_02 : no find isp 0
fuz АСУП01_Ячейка_01_03 : no find isp 0
fuz АСУП01_Ячейка_01_04 : no find isp 0
fuz АСУП01_Ячейка_01_05 : no find isp 0
fuz АСУП01_Ячейка_01_06 : no find isp 0
Тут вперемешку лог wine, лог консоли и лог нашей скады.

Лог неуспешного запуска (когда по Wi-Fi):
TKA_VERSION=6.8.45 (6845)7301  07301
bMode=0
bMode=1
3
wr=0
Network adapter configuration
Adapter Description: eth0
IP Address(s):
Adapter Description: wlan0
IP Address(s): 192.168.1.113
input  ip = 192.168.1.113 port = 50000
input  ip = 255.255.255.255 port = 50000
8
Bad recQue
output ip = 192.168.1.113 port = 50001
Err=10038
output ip = 255.255.255.255 port = 50001
error_ip_multicast_if
Bad sendQue
Блок 'CHANNELS'(Ош.загр.):'':5:74:(поле 11)                                                                 

CHANNELS (141): Ошибка чтения файла                                                                         
Err=10009

CHANNELS (149): Не загрузился объект 07301_Ch_Sock                                                         

Main (151): Не загрузился блок                                                                             

Main (145): Откат невозможен
В принципе, меня бы абсолютно устроила работа и через VirtualBox (не знаю, стоит ли создавать отдельную тему, ну да ладно)
Но вот ведь загадка - там почти та же проблема. Ставлю в ней WinXP (пробовал и Windows7 тоже) - там наше ПО. Сетевой мост между адаптерами. И почти то же самое... Через Ethernet - всё ок, через Wi-Fi - приложение стартует, но связи с контроллерами нет.
В оправдание VirtualBox можно сказать, что в связке Windows-хост, а в ней Windows в VirtualBox ситауция почти аналогичная. Через Ethernet - всё ок, через Wi-Fi - приложение стартует, но связи с контроллерами нет.

Пробовал 3 варианта:
Ubuntu-хост, Windows в VirtualBox - Через Ethernet - всё ок, через Wi-Fi - приложение стартует, но связи с контроллерами нет.
Windows-хост, Windows в VirtualBox - Через Ethernet - всё ок, через Wi-Fi - приложение стартует, но связи с контроллерами нет.
Windows-хост, Ubuntu в VirtualBox - Через Ethernet - всё ок, через Wi-Fi - приложение в Wine стартует, но связи с контроллерами нет.
Ubuntu через wine -  - Через Ethernet - всё ок, через Wi-Fi - приложение НЕ стартует
Windows - разумеется, всё ок и так, и так

Почему такая разница от типа сетевого соединения? Разве нельзя "обмануть" систему, чтобы она не видела разницы между Wi-Fi и Ethernet-ом? Ну или будут какие-то совсем уж экзотические идеи.
Заранее спасибо хотя бы за чтение и осознание того, о чём спрашиваю.

chemtech

  • Гость
Re: Запуск специализированного Windows-ПО
« Ответ #1 : 01 Июля 2014, 17:19:38 »
Цитировать
Adapter Description: eth0
IP Address(s): 192.168.1.112
Adapter Description: wlan0
IP Address(s): 192.168.1.113
А у вас что одновременно используется одна сеть и на Ethernet и на  Wi-Fi?

Оффлайн aaaSashaMGGU

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Запуск специализированного Windows-ПО
« Ответ #2 : 01 Июля 2014, 17:25:07 »
Цитировать
Adapter Description: eth0
IP Address(s): 192.168.1.112
Adapter Description: wlan0
IP Address(s): 192.168.1.113
А у вас что одновременно используется одна сеть и на Ethernet и на  Wi-Fi?

Когда я пытаюсь запуститься через Wi-Fi, то шнурок Ethernet-а выдернут из ноутбука. А когда с Ethernet-а, то отключаю Wi-Fi. А это просто назначенные айпишники светятся

Оффлайн hon

  • Старожил
  • *
  • Сообщений: 1044
  • Ubuntu 12.04 LTS
    • Просмотр профиля
Re: Запуск специализированного Windows-ПО
« Ответ #3 : 01 Июля 2014, 17:25:51 »
Цитировать
а проблема с Linuxом вообще.
Цитировать
Windows-хост, Windows в VirtualBox - Через Ethernet - всё ок, через Wi-Fi - приложение стартует, но связи с контроллерами нет.
В этой связке GNU/Linux не используется, так что не нужно сваливать на него вину.

Через wine может не работать из-за навороченности программы, но это можно попробовать решить потом. Сейчас нужно решить проблему с работой через VirtualBox.
Во всех случаях программа не работает при использовании Wi-Fi. Может быть программа требует низкую скорость отклика и высокую скорость подключения (например, для аудио/видео), что невозможно при использовании этой сети Wi-Fi. Попробуй перенастроить Wi-Fi-сеть, узнать требования программы к скорости подключения и пингу.
« Последнее редактирование: 01 Июля 2014, 17:27:26 от hon »

Оффлайн aaaSashaMGGU

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Запуск специализированного Windows-ПО
« Ответ #4 : 01 Июля 2014, 17:32:59 »
Цитировать
а проблема с Linuxом вообще.
Цитировать
Windows-хост, Windows в VirtualBox - Через Ethernet - всё ок, через Wi-Fi - приложение стартует, но связи с контроллерами нет.
В этой связке GNU/Linux не используется, так что не нужно сваливать на него вину.

Через wine может не работать из-за навороченности программы, но это можно попробовать решить потом. Сейчас нужно решить проблему с работой через VirtualBox.
Во всех случаях программа не работает при использовании Wi-Fi. Может быть программа требует низкую скорость отклика и высокую скорость подключения (например, для аудио/видео), что невозможно при использовании этой сети Wi-Fi. Попробуй перенастроить Wi-Fi-сеть, узнать требования программы к скорости подключения и пингу.


Она у меня через телефонный блютуз подключалась даже. Скорость не имеет значения, как будто бы... Если уж зацепится, то будет долго и нудно обновлять данные, но обновит. Рано или поздно. А тут вообще никак

"В этой связке GNU/Linux не используется, так что не нужно сваливать на него вину."
Так-то оно так, конечно. Но VirtualBox открытое ПО - может, это общая болезнь?

Оффлайн hon

  • Старожил
  • *
  • Сообщений: 1044
  • Ubuntu 12.04 LTS
    • Просмотр профиля
Re: Запуск специализированного Windows-ПО
« Ответ #5 : 01 Июля 2014, 17:44:56 »
"В этой связке GNU/Linux не используется, так что не нужно сваливать на него вину."
Так-то оно так, конечно. Но VirtualBox открытое ПО - может, это общая болезнь?
У меня не работает магнитола в белом ноутбуке (VirtualBox), значит виноват мой белый автомобиль (GNU/Linux). Автомобиль и ноутбук белого цвета, значит все белое имеет "общую болезнь".

У тебя не работает программа через Wi-Fi в связке Windows=>VirtualBox=>Windows=>Программа. Если есть сомнения в корректности работы VirtualBox с твоей программой, попробуй другие средства виртуализации, но я не думаю, что это поможет.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Запуск специализированного Windows-ПО
« Ответ #6 : 01 Июля 2014, 20:43:54 »
aaaSashaMGGU, на виртуалке сеть через мост пробовали?

Оффлайн aaaSashaMGGU

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Запуск специализированного Windows-ПО
« Ответ #7 : 02 Июля 2014, 00:32:20 »
aaaSashaMGGU, на виртуалке сеть через мост пробовали?
А никак иначе и не заставишь VirtualBox увидеть общую сеть. Да, именно через сетевой мост.
На самом деле пробовал все прочие предложенные виртуалбоксом варианты - но ни в одном из них, разумеется, даже пинги до контроллеров не идут.
Ещё есть в настройках виртуалбокса некий "неразборчивый режим" и "тип адаптера" - там тоже все варианты перебирал
« Последнее редактирование: 02 Июля 2014, 18:04:22 от aaaSashaMGGU »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Запуск специализированного Windows-ПО
« Ответ #8 : 02 Июля 2014, 09:38:08 »
Ubuntu-хост, Windows в VirtualBox - Через Ethernet - всё ок, через Wi-Fi - приложение стартует, но связи с контроллерами нет.
А нормально ли работают с сетью остальные приложения в виртуалке?
HTTP, FTP, NetBIOS/SMB, Telnet?

Ещё бы понять, как выглядит процесс установки связи и обмена пакетами.
Обнаружение устройств, инициализация подключения.
Через какие порты по каким протоколам идёт трафик.

У виртуалки, в которой сеть настроена через мост, есть особенности работы с BOOTP/TFTP.
Например, PXEBoot грузит только с 3-5 раза.
Беглое гугление говорит, что нужно тюнить STP, но могут быть какие-то нюансы:
http://wiki.libvirt.org/page/PXE_boot_%28or_dhcp%29_on_guest_failed
« Последнее редактирование: 02 Июля 2014, 10:25:19 от ArcFi »

Оффлайн aaaSashaMGGU

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Запуск специализированного Windows-ПО
« Ответ #9 : 02 Июля 2014, 15:14:41 »
А нормально ли работают с сетью остальные приложения в виртуалке?
HTTP, FTP, NetBIOS/SMB, Telnet?
Да, все до единого. Разве что NetBIOS-а у нас нет, как его проверить не знаю, а всё остальное отлично.

Ещё бы понять, как выглядит процесс установки связи и обмена пакетами.
Обнаружение устройств, инициализация подключения.
Через какие порты по каким протоколам идёт трафик.
Дело в том, что прога посылает в сеть широковещательный запрос. Протокол взаимодействия с контроллерами свой собственный - увы, не OPC и не модбас.
Самое обидное, что команды на контроллеры из ПО проходят (!!!) . Данных входных нет, а выходные есть.
К вопросу о широковещательных запросах. В логах неудачного запуска проскакивает ошибка "error_ip_multicast_if". Может, тут собака порылась? При запуске через Ethernet такой ошибки нет

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Запуск специализированного Windows-ПО
« Ответ #10 : 02 Июля 2014, 15:33:32 »
В логах неудачного запуска проскакивает ошибка "error_ip_multicast_if".
Вообще, броадкаст и мультикаст — это разные типы трафика.
Я рекомендую запустить Wireshark, когда подключены проводом, и разобраться какие именно запросы он шлёт.

Возможно, что для разрешения определённого типа трафика через беспроводной (мостостовой для виртуалки) интерфейс, требуется задать соответствующие параметры ядра (sysctl).
И как говорилось выше, поиграть параметрами STP/delay для мостового подключения.

Оффлайн aaaSashaMGGU

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Запуск специализированного Windows-ПО
« Ответ #11 : 02 Июля 2014, 16:05:51 »
Спс, попробую. Половины не понял, конечно. Будем гуглить.
Если будут ещё у кого идеи - пишите
« Последнее редактирование: 02 Июля 2014, 16:08:58 от aaaSashaMGGU »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Запуск специализированного Windows-ПО
« Ответ #12 : 02 Июля 2014, 16:34:09 »
В качестве примера, вот часть параметров ядра, отвечающих за мультикаст:
# sysctl -a | grep mc
net.ipv4.conf.all.mc_forwarding = 0
net.ipv4.conf.default.mc_forwarding = 0
net.ipv4.conf.em1.mc_forwarding = 0
net.ipv4.conf.lo.mc_forwarding = 0
net.ipv4.conf.tun0.mc_forwarding = 0
net.ipv4.conf.wlp2s0.mc_forwarding = 0
net.ipv4.neigh.default.mcast_solicit = 3
net.ipv4.neigh.em1.mcast_solicit = 3
...
Как видите, значения параметров могут отличаться на разных интерфейсах.
Если через мост действительно идёт мультикаст (не броадкаст), то их нужно менять.
« Последнее редактирование: 02 Июля 2014, 16:35:58 от ArcFi »

chemtech

  • Гость
Re: Запуск специализированного Windows-ПО
« Ответ #13 : 02 Июля 2014, 16:45:25 »
Помойму в курсе CCNA что то было про то что broadcast или multicast - wifi  не используют.. или что то около того..надо поискать

Все таки соберите данные через Wireshark
Вот статья как пользоваться
Wireshark — приручение акулы
« Последнее редактирование: 02 Июля 2014, 16:49:31 от chemtech »

Оффлайн aaaSashaMGGU

  • Автор темы
  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
Re: Запуск специализированного Windows-ПО
« Ответ #14 : 02 Июля 2014, 17:23:22 »
Помойму в курсе CCNA что то было про то что broadcast или multicast - wifi  не используют.. или что то около того..надо поискать

Все таки соберите данные через Wireshark
Вот статья как пользоваться
Wireshark — приручение акулы
В ubuntu через wine вот эти 2 строчки сразу перед вылетом:
329   191.415988000   192.168.0.103   232.7.3.1   IGMPv2   46   Membership Report group 232.7.3.1
330   191.442727000   192.168.0.103   224.0.0.2   IGMPv2   46   Leave Group 232.7.3.1
В виртуалбокс, где WinXP, сначала так:
116   12.888502000   192.168.0.102   232.7.3.1   IGMPv2   46   Membership Report group 232.7.3.1
Потом много-много таких вот строк:
140   15.249006000   192.168.0.102   232.7.2.1   UDP   554   Source port: 50001  Destination port: 50000
После закрытия ПО:
191   17.291734000   192.168.0.102   224.0.0.2   IGMPv2   46   Leave Group 232.7.3.1

Но все эти игры с виртуалбоксом дома с домашним вай-фаем (айпишник 192.168.0.102) . То есть, ПО просто запускается и уж точно с контроллерами не соединится, ибо их нет. Но думаю, запросы будут все те же
На объекте вай-фай-роутер другой и айпишник 192.168.17.111
« Последнее редактирование: 02 Июля 2014, 17:43:17 от aaaSashaMGGU »

 

Страница сгенерирована за 0.04 секунд. Запросов: 25.