Всем здравствуйте. Уж не знаю, в какой раздел форума положить этот вопрос - так что, положу в этот.
Сам я сейчас на 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-ом? Ну или будут какие-то совсем уж экзотические идеи.
Заранее спасибо хотя бы за чтение и осознание того, о чём спрашиваю.