4

У меня есть установка, в которой я использую последовательный USB-адаптер + какое-то приложение, которое отправляет и получает данные, используя этот последовательный порт USB. Но эта настройка, которая работает в Windows или даже в виртуальных окнах VMWare, не работает в WINE. ИТ передает данные, но я не могу получить данные. Кабель и приложения такие же, как в рабочем и нерабочем сценариях. Я предполагаю, что тот факт, что приложение работает через последовательный USB-кабель так же хорошо, как под Virtual Windows(VMware работает на Linux) путем сопоставления /dev /ttyUSB на com-порт, не требуется никакого внешнего программного обеспечения /DLL, означает, что ему не нужно никаких конкретных Водитель. (Правильно ли я полагаю, что приложению не нужен драйвер?)

(Я также пробовал с другой настройкой (другой последовательный USB-адаптер + другое приложение под WINE, но даже это не работает под WINE, но прекрасно работает под Windows /Virtual Windows)

Как я могу заставить его работать под WINE?

Любые указатели приветствуются.

2 ответа2

4

Я знаю, что этот вопрос старый и что «золотое сечение», вероятно, либо решило его, либо пошло дальше, но кто-то еще может наткнуться на этот вопрос в поисках ответа.

Wine не назначает последовательные порты Linux COM-портам для программ Windows автоматически, но это можно сделать с помощью простой символической ссылки. Для Wine в командном терминале вы делаете следующее:

$ ln -s /dev/ttyS0 ~/.wine/dosdevices/com1
$ ln -s /dev/ttyS1 ~/.wine/dosdevices/com2

Повторите при необходимости, чтобы получить все последовательные порты ttySx, которые вам нужно назначить для портов COMx.

Коммерческая версия Wine под названием Crossover Linux может предоставлять инструменты для графического интерфейса или делать это автоматически, но я никогда не использовал его.

1

WINE не является эмулятором или виртуализатором, WINE просто реализует Windows API в Linux. Когда вы запускаете программу под WINE, программа ожидает последовательный порт, но WINE не предоставляет их, и, следовательно, возникает ошибка. VMWare, с другой стороны, виртуализирует полный компьютер, включая порты, и когда программа запрашивает доступ к порту, она проходит через запрос к портам на главном ПК и, следовательно, работает нормально.

Подводя итог, AFAIK невозможно, чтобы программа, запрашивающая порты, работала должным образом под WINE.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .