[Wine]serial port problem

Jan Schmdit j.schmidt at baumueller-kamenz.de
Tue Jan 11 03:28:07 CST 2005


Hello!

I have a program which works fine with "Wine 20030115" (shipped with
SuSE-8.2). Using the same program with "Wine 20041201" (after Upgrade to
SuSE-9.2) does not work anymore. The communication with the device
connectet to the seriel port does not work.

I converted my old .wine/config from:

[serialports]
"Com1" = "/dev/ttyS0"
"Com2" = "/dev/ttyS1"
"Com3" = "/dev/ttyS2"
"Com4" = "/dev/modem"

so that

.wine/dosdevices/com1 is a link to /dev/ttyS0 ...

The rights are ok:

schmidtj at schmidt-l:~> ls -l .wine/dosdevices/com1
lrwxrwxrwx  1 schmidtj users 10 2005-01-05 09:40 .wine/dosdevices/com1 -> 
  /dev/ttyS0

schmidtj at schmidt-l:~> ls -l /dev/ttyS0
crw-rw----  1 root uucp 4, 64 2005-01-11 08:42 /dev/ttyS0

schmidtj at schmidt-l:~> groups
users disk uucp dialout video

Futhermore I used the default-installation from SuSE-8.2 and SuSE-9.2.

while debugging I found with WINEDEBUG=+win32,+comm,+file

some

warn:file:wine_nt_to_unix_file_name "required a case-insensitive search"

Does that matter?

Debugging with "WINEDEBUG=+comm,+file" gives

trace:file:CreateFileW L"COM1" GENERIC_READ GENERIC_WRITE OPEN_EXISTING
attributes 0x80
trace:file:RtlDosPathNameToNtPathName_U (L"COM1",0x406cf6cc,(nil),(nil))
trace:file:RtlGetFullPathName_U (L"COM1" 520 0x406cf448 (nil))
trace:file:get_dos_device L"COM1" -> "/home/schmidtj/.wine/dosdevices/com1"
trace:file:CreateFileW returning 0x38
fixme:comm:SetupComm insize 2048 outsize 2048 unimplemented stub
trace:comm:BuildCommDCBAndTimeoutsA (baud=38400 parity=N data=8 stop=1 to=off
  xon=off odsr=off octs=off dtr=off rts=on idsr=off,0x406cf760,(nil))
trace:comm:BuildCommDCBAndTimeoutsW (L"baud=38400 parity=N data=8 stop=1 to=off
  xon=off odsr=off octs=off dtr=off rts=on idsr=off",0x406cf760,(nil))
trace:comm:SetCommState handle 0x38, ptr 0x406cf760
trace:comm:SetCommState bytesize 8 baudrate 38400 fParity 0 Parity 0 stopbits 1
trace:comm:SetCommState ~IXON ~IXOFF
trace:comm:SetCommState fOutxCtsFlow 0 fRtsControl 1
trace:comm:SetCommState fOutxDsrFlow 0 fDtrControl0
trace:comm:PurgeComm handle 0x38, flags f
trace:comm:PurgeComm handle 0x38, flags f
trace:comm:GetCommTimeouts (0x38,0x406cf7d8)
trace:file:WriteFile 0x38 0x406cf824 10 0x406cf7f0 (nil)
trace:comm:ClearCommError handle 0x38 cbInQue = 0 cbOutQue = 0

indicating, that the program wants to write 10 Bytes but nothing goes
to the Queue. I haved patched the serial driver so that every Byte
which the driver sendet and received was printed to the syslog via
printk. There was no communication reported.

What is wrong? How can I get the program work again?

sy,
Jan





More information about the wine-users mailing list