Erros de acesso à porta serial no WINE

4

Eu tenho uma configuração em que eu uso um adaptador serial USB + algum aplicativo que envia e recebe dados usando esse usb serial. Mas essa configuração que funciona em um Windows, ou mesmo em uma janela VMWare Virtual, não funciona no WINE. TI transmite dados, mas não consigo receber dados. O cabo e os aplicativos são os mesmos que nos cenários de trabalho e não trabalho. Eu acho que o fato de que o aplicativo funciona através do cabo serial USB tão bem no Virtual Windows (VMware rodando no linux) mapeando / dev / ttyUSB para a porta COM, nenhum software externo / DLL necessário, significa que ele não precisa de nenhum específico motorista. (Estou correto nesta suposição de que o aplicativo não precisa de nenhum driver?)

(Eu também tentei com uma configuração diferente (diferente adaptador serial USB + aplicativo diferente em WINE, mas mesmo que não funciona em WINE, mas funciona bem sob Windows / Windows Virtual)

Como posso fazê-lo funcionar no WINE?

Quaisquer ponteiros apreciados.

    
por goldenmean 31.08.2010 / 12:36

2 respostas

4

Eu sei que essa pergunta é antiga e que o goldenmean provavelmente já resolveu ou mudou de idéia, mas alguém pode se deparar com essa questão em busca de uma resposta.

O Wine não atribui automaticamente portas seriais do Linux a portas COM para programas do Windows, mas isso pode ser feito com um simples link simbólico. Para o Wine, em um terminal de comando, você faz o seguinte:

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

Repita conforme necessário para obter todas as portas seriais do ttySx que você precisa para as portas COMx.

A versão comercial do Wine, chamada Crossover Linux, pode fornecer ferramentas de GUI para isso ou fazê-lo automaticamente, mas nunca o usei.

    
por 17.02.2011 / 15:28
1

WINE não é um emulador ou um virtualizador, o WINE implementa apenas a API do Windows no Linux. Quando você executa um programa no WINE, o programa espera uma porta serial, mas o WINE não os fornece e, portanto, o erro vem. O VMWare, por outro lado, virtualiza um PC completo, incluindo as portas, e quando o programa solicita o acesso à porta, ele passa pela solicitação para as portas no PC host e, portanto, funciona bem.

Para resumir, AFAIK, não é possível ter um programa solicitando que as portas sejam executadas corretamente no WINE.

    
por 01.09.2010 / 01:51