[Wine]Serial Communication

Jochen Roedenbeck roe at spl-spindel.de
Thu Aug 19 13:37:40 CDT 2004


I try to use SimoComU, a tool to control frequency converters, on Wine.
Since version 2004-07-16 it opens its main window, and most functions
seem to work. Anyway, it does not communicate over the serial line. I
see the following output:

trace:file:CreateFileW L"COM1" GENERIC_READ GENERIC_WRITE OPEN_EXISTING
attributes 0x0
trace:file:RtlDosPathNameToNtPathName_U (L"COM1",0x4066eed4,(nil),(nil))
trace:file:RtlGetFullPathName_U (L"COM1" 520 0x4066ec4c (nil))
trace:file:get_dos_device L"COM1" -> "/home/met/.wine/dosdevices/com1"
trace:file:CreateFileW returning 0x9c
fixme:comm:GetCommProperties (0x9c 0x4132b414 )
trace:comm:GetCommState handle 0x9c, ptr 0x4132b454
trace:comm:GetCommState OK
trace:comm:GetCommState bytesize 8 baudrate 38400 fParity 0 Parity 2
stopbits 1
trace:comm:GetCommState ~IXON ~IXOFF
trace:comm:GetCommState fOutxCtsFlow 1 fRtsControl 2
trace:comm:GetCommState fOutxDsrFlow 0 fDtrControl1
trace:comm:GetCommState CRTSCTS
trace:comm:GetCommTimeouts (0x9c,0x4132b470)
trace:comm:BuildCommDCBAndTimeoutsA (38400,e,8,1,0x4066ef88,(nil))
trace:comm:BuildCommDCBAndTimeoutsW (L"38400,e,8,1",0x4066ef88,(nil))
trace:comm:SetCommState handle 0x9c, ptr 0x4066ef88
trace:comm:SetCommState bytesize 8 baudrate 38400 fParity 1 Parity 2
stopbits 1
trace:comm:SetCommState ~IXON ~IXOFF
trace:comm:SetCommState fOutxCtsFlow 0 fRtsControl 3
trace:comm:SetCommState fOutxDsrFlow 0 fDtrControl2
warn:comm:SetCommState DSR/DTR flow control not supported
fixme:comm:SetCommState RTS_CONTROL_TOGGLE is not supported.
fixme:comm:SetupComm insize 970 outsize 970 unimplemented stub
trace:comm:SetCommTimeouts (0x9c,0x4066ef74)

As I understand that log, the program tries to set the speed to
38400 bit/s and to configure the line to even parity (among others).
But, if I run "stty -a -F /dev/ttyn00" (to which com1 is a link to),
then I see no change. The parameters are not set. So I set them
using stty to get further.

The program apparently tries to write to the line, then, as the
output is:

trace:file:WriteFile 0x9c 0x4132b160 24 0x415640d4 (nil)
trace:comm:ClearCommError handle 0x9c cbInQue = 0 cbOutQue = 0
trace:comm:PurgeComm handle 0x9c, flags f
trace:file:WriteFile 0x9c 0x4132b160 24 0x415640d4 (nil)
trace:comm:ClearCommError handle 0x9c cbInQue = 0 cbOutQue = 0
trace:comm:PurgeComm handle 0x9c, flags f
[etc.]

But nothing happens on the line. On the other hand, if I enter the
command "echo xxxxx >/dev/ttyn00", the bytes are transmitted.

I have no idea where to look now. Could anyone help me?

Jochen Roedenbeck




More information about the wine-users mailing list