>On Fri, 14 Sep 2001, Raul Dias wrote:
[...]>> Hi,
>>
>> I use wine to run a terminal emulator (NetTerm).
>> It connects to a Linux Server (it was meant to run from windows) that
runs a commerce software.
>>
>> This Linux commerce software sends the terminal emulator escape codes
to interface with a
>> "ticket" printer attached to a serial port.
>>
>> The reason to go thru all this problem is that the printer has a
proprietary, closed source driver
>> for windows only and interface only with netterm.
>>
>> With wine 20001026 this works greatfull. The application takes 3
seconds to startup
>> in a P133 machine.
>>
>> However, the serial communication part does not work with the later
versions of wine
>> like 20010731. The application reports as if there is no serial port
and wine complains
>> with some fixmes about comm support.
>
>Well, quote the fixme's.
Here is the full log (comments in ==[ ]==):
------8<----------------------------------------------
err:mmsys:MMDRV_InitHardcoded You didn't setup properly the config file for
the Wine multimedia modules.
Will use the hard-coded setup, but this will disapear soon.
Please add a WinMM section to your Wine config file.
fixme:font:RemoveFontResourceA ("E:\\decfnt.fon"): stub
fixme:font:CreateScalableFontResourceA (0,E:\decfnt.fon,E:\decfnt.ttf,(null)):
stub
fixme:font:AddFontResourceA ("isifont1.dll"): stub! Read the Wine User
Guide on how to install this font manually.
fixme:tapi:lineInitialize (0x40392558, 400000, 0x441105, "NetTerm",
0x4039255c): stub.
=========[ Here is when the netterm.exe shows up on the screen
]=================
=========[ The next messages just shows up when trying to use the serial ports ]
=====
fixme:comm:SetupComm insize 384 outsize 384 unimplemented stub
fixme:comm:PurgeComm no handle 244 found
fixme:comm:PurgeComm no handle 244 found
fixme:comm:PurgeComm no handle 244 found
======[ here is when the network connection closes ]==============
fixme:winsock:_get_sock_fd handle -1 is not a socket (GLE 6)
====[ and here when the application is closed ]===================
fixme:font:RemoveFontResourceA ("isifont1.dll"): stub
fixme:font:RemoveFontResourceA ("E:\\decfnt.fon"): stub
fixme:tapi:lineShutdown (0000): stub.
------------------------>8------------------------------
>>
>> Did wine suffered a big serial change over the last year?
>
>Massive reorganization, which shouldn't have broken anything. My comms
>apps still work. Mmmm, didn't the config file format and location
>change some time in 200012xx? Or was that the year before? Have you
>accounted for the fact that Wine doesn't look for a global wine.conf
>file anymore, but only $WINEPREFIX/config (~/.wine/config)?
sure.
>
>--debugmsg +file,+comm,+relay is more likely to be useful; maybe just
>+file,+comm would be enough, if we can't figure it out from the fixmes.
>
here is the logs of wine --debugmsg +comm,+file:
--------------------------------------------8<---------------------------------------
trace:file:CreateFileA C:\Program Files\NetTerm\netterm.exe GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\windows\system\ole32.dll GENERIC_READ FILE_SHARE_READ
OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\isi500.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\msvcrt40.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\isivideo.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\isistat.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\isibar.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\isiprint.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\isilogo.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:_lopen ('(None)',0000)
trace:file:CreateFileA (None) GENERIC_READ FILE_SHARE_READ FILE_SHARE_WRITE
OPEN_EXISTING
warn:file:CreateFileA Unable to get full filename from '(None)' (GLE 2)
trace:file:_lopen ('C:\WINDOWS\(None)',0000)
trace:file:CreateFileA C:\WINDOWS\(None) GENERIC_READ FILE_SHARE_READ
FILE_SHARE_WRITE OPEN_EXISTING
warn:file:CreateFileA Unable to get full filename from
'C:\WINDOWS\(None)' (GLE 2)
trace:comm:COMM_Init COM1 = /dev/ttyS0
trace:comm:COMM_Init LPT1 = /dev/lp0
trace:comm:COMM_Init COM2 = /dev/ttyS1
err:mmsys:MMDRV_InitHardcoded You didn't setup properly the config file for
the Wine multimedia modules.
Will use the hard-coded setup, but this will disapear soon.
Please add a WinMM section to your Wine config file.
trace:file:CreateFileA C:\WINDOWS\SYSTEM\wineoss.drv GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
warn:file:CreateFileA Unable to get full filename from
'C:\WINDOWS\SYSTEM\wineoss.drv' (GLE 2)
trace:file:CreateFileA C:\WINDOWS\SYSTEM\msacm.iac2 GENERIC_READ FILE_SHARE_READ
OPEN_EXISTING
warn:file:CreateFileA Unable to get full filename from
'C:\WINDOWS\SYSTEM\msacm.iac2' (GLE 2)
trace:file:CreateFileA C:\windows\system\iac25_32.ax GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\WINDOWS\SYSTEM\iacenc.dll GENERIC_READ FILE_SHARE_READ
OPEN_EXISTING
warn:file:CreateFileA Unable to get full filename from
'C:\WINDOWS\SYSTEM\iacenc.dll' (GLE 2)
trace:file:CreateFileA C:\WINDOWS\SYSTEM\msacm.iac2 GENERIC_READ FILE_SHARE_READ
OPEN_EXISTING
warn:file:CreateFileA Unable to get full filename from
'C:\WINDOWS\SYSTEM\msacm.iac2' (GLE 2)
trace:file:CreateFileA C:\Program Files\NetTerm\brazil.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\isidata.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\EACECF.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\windows\system\oleaut32.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\ECF4000.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\Threads.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\Date.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\Char.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\Perifericos.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\Protocols.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\Structs.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\SerialPort.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\Swecf.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\Mp97fi32.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA C:\Program Files\NetTerm\Mp20fi32.dll GENERIC_READ
FILE_SHARE_READ OPEN_EXISTING
trace:file:CreateFileA E:\isi675c.tmp GENERIC_WRITE CREATE_NEW
trace:file:FILE_GetTempFileName created E:\isi675c.tmp
trace:file:FILE_GetTempFileName returning E:\isi675c.tmp
trace:file:FILE_DoOpenFile E:\isi675c.tmp OF_READ OF_SHARE_COMPAT OF_DELETE
trace:file:FILE_DoOpenFile E:\isi675c.tmp 0200
trace:file:FILE_DoOpenFile found /tmp/isi675c.tmp = E:\ISI675C.TMP
trace:file:FILE_DoOpenFile (E:\isi675c.tmp): OF_DELETE return = OK
fixme:font:RemoveFontResourceA ("E:\\decfnt.fon"): stub
trace:file:FILE_DoOpenFile E:\decfnt.fon OF_READ OF_SHARE_COMPAT OF_DELETE
trace:file:FILE_DoOpenFile E:\decfnt.fon 0200
warn:file:FILE_DoOpenFile 'E:\decfnt.fon' not found or sharing violation
warn:file:FILE_DoOpenFile (E:\decfnt.fon): return = HFILE_ERROR error= 2
trace:file:FILE_DoOpenFile E:\decfnt.ttf OF_READ OF_SHARE_COMPAT OF_DELETE
trace:file:FILE_DoOpenFile E:\decfnt.ttf 0200
warn:file:FILE_DoOpenFile 'E:\decfnt.ttf' not found or sharing violation
warn:file:FILE_DoOpenFile (E:\decfnt.ttf): return = HFILE_ERROR error= 2
trace:file:FILE_DoOpenFile E:\decfnt.ttf OF_READ OF_SHARE_COMPAT OF_EXIST
trace:file:FILE_DoOpenFile E:\decfnt.ttf 4000
warn:file:FILE_DoOpenFile 'E:\decfnt.ttf' not found or sharing violation
warn:file:FILE_DoOpenFile (E:\decfnt.ttf): return = HFILE_ERROR error= 2
trace:file:FILE_DoOpenFile E:\decfnt.ttf OF_READ OF_SHARE_COMPAT OF_CREATE
trace:file:FILE_DoOpenFile E:\decfnt.ttf 1000
trace:file:CreateFileA E:\decfnt.ttf GENERIC_READ GENERIC_WRITE FILE_SHARE_READ
FILE_SHARE_WRITE CREATE_ALWAYS
trace:file:FILE_DoOpenFile (E:\decfnt.ttf): OK, return = 216
trace:file:_hwrite 216 0x1c030018 24212
trace:file:WriteFile 216 0x1c030018 24212 0x405a59f4 (nil)
trace:file:_lclose handle 216
fixme:font:CreateScalableFontResourceA (0,E:\decfnt.fon,E:\decfnt.ttf,(null)):
stub
trace:file:SetFileAttributesA (E:\decfnt.ttf,2)
fixme:font:AddFontResourceA ("isifont1.dll"): stub! Read the Wine User
Guide on how to install this font manually.
trace:file:FILE_DoOpenFile logo.bmp OF_READ OF_SHARE_COMPAT
trace:file:FILE_DoOpenFile logo.bmp 0000
trace:file:FILE_DoOpenFile found /root/pacotes/netterm/var/lib/wn/Program
Files/NetTerm/logo.bmp = C:\PROG~FBU\NETTERM\LOGO.BMP
trace:file:FILE_DoOpenFile (logo.bmp): OK, return = 216
trace:file:ReadFile 216 0x405a61f4 14 0x405a61cc (nil)
trace:file:ReadFile 216 0x4040ab80 40 0x405a61cc (nil)
trace:file:ReadFile 216 0x4040aba8 1024 0x405a61cc (nil)
trace:file:SetFilePointer handle 216 offset 1078 high 0 origin 0
trace:file:ReadFile 216 0x4040afa8 32767 0x405a61a4 (nil)
trace:file:ReadFile 216 0x40412fa7 32767 0x405a61a4 (nil)
trace:file:ReadFile 216 0x4041afa6 29330 0x405a61a4 (nil)
trace:file:_lclose handle 216
trace:file:CreateFileA C:\WINDOWS\SYSTEM\tapi32.dll GENERIC_READ FILE_SHARE_READ
OPEN_EXISTING
warn:file:CreateFileA Unable to get full filename from
'C:\WINDOWS\SYSTEM\tapi32.dll' (GLE 2)
fixme:tapi:lineInitialize (0x403921d8, 400000, 0x441105, "NetTerm",
0x403921dc): stub.
======================[ as before here is when the application shows on the
screen ]===============================
======================[ there was no debug msg until the serial port was tryied
to use ]==============================
trace:file:CreateFileA CHEQUEII.DAT GENERIC_READ FILE_SHARE_READ
FILE_SHARE_WRITE OPEN_EXISTING
warn:file:CreateFileA Unable to get full filename from 'CHEQUEII.DAT'
(GLE 2)
trace:file:CreateFileA COM1 GENERIC_READ GENERIC_WRITE OPEN_EXISTING
trace:file:CreateFileA opening device 'COM1'
trace:comm:GetCommState handle 244, ptr 0x42c60328
trace:comm:GetCommState OK
trace:comm:GetCommState bytesize 8 baudrate 9600 fParity 0 Parity 2 stopbits 1
trace:comm:GetCommState ~IXON ~IXOFF
trace:comm:GetCommState ~CRTSCTS
trace:comm:SetCommState handle 244, ptr 0x42c60328
trace:comm:SetCommState bytesize 8 baudrate 9600 fParity 0 Parity 2 stopbits 1
trace:comm:SetCommState ~IXON ~IXOFF
trace:comm:SetCommMask handle 244, mask 1
trace:comm:SetCommTimeouts (f4,0x405a52dc)
fixme:comm:SetupComm insize 384 outsize 384 unimplemented stub
trace:comm:WaitCommEvent (f4 0x43ac6718 (nil) )
===============[ last debug message repeats 10 times ]===============
trace:comm:PurgeComm handle 244, flags c
trace:comm:PurgeComm handle 244, flags c
trace:file:WriteFile 244 0x405a5040 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5041 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5042 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5043 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5044 1 0x405a4ff4 (nil)
trace:comm:WaitCommEvent (f4 0x43ac6718 (nil) )
===============[ last debug message repeats 193 times ]===============
trace:comm:PurgeComm handle 244, flags c
trace:file:WriteFile 244 0x405a5040 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5041 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5042 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5043 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5044 1 0x405a4ff4 (nil)
trace:comm:WaitCommEvent (f4 0x43ac6718 (nil) )
===============[ last debug message repeats 124 times ]===============
trace:comm:PurgeComm handle 244, flags c
trace:file:WriteFile 244 0x405a5040 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5041 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5042 1 0x405a4ff4 (nil)
trace:comm:WaitCommEvent (f4 0x43ac6718 (nil) )
trace:file:WriteFile 244 0x405a5043 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5044 1 0x405a4ff4 (nil)
trace:comm:WaitCommEvent (f4 0x43ac6718 (nil) )
===============[ last debug message repeats 157 times ]===============
trace:comm:PurgeComm handle 244, flags c
trace:comm:WaitCommEvent (f4 0x43ac6718 (nil) )
trace:file:WriteFile 244 0x405a5040 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5041 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5042 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5043 1 0x405a4ff4 (nil)
trace:comm:WaitCommEvent (f4 0x43ac6718 (nil) )
trace:file:WriteFile 244 0x405a5044 1 0x405a4ff4 (nil)
trace:comm:WaitCommEvent (f4 0x43ac6718 (nil) )
trace:comm:WaitCommEvent trace:comm:PurgeComm handle 244, flags c
trace:file:WriteFile 244 0x405a5040 1 0x405a4ff4 (nil)
trace:comm:WaitCommEvent (f4 0x43ac6718 (nil) )
trace:file:WriteFile 244 0x405a5041 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5042 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5043 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5044 1 0x405a4ff4 (nil)
trace:comm:WaitCommEvent (f4 0x43ac6718 (nil) )
===============[ last debug message repeats 144 times ]===============
trace:comm:WaitCommEventrace:comm:PurgeComm handle 244, flags c
trace:comm:WaitCommEvent (f4 0x43ac6718 (nil) )
trace:file:WriteFile 244 0x405a5040 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5041 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5042 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5043 1 0x405a4ff4 (nil)
trace:file:WriteFile 244 0x405a5044 1 0x405a4ff4 (nil)
==============[ last debug message repeats 181 times
]===========================
=============[ This one now is when the network connection is closed
]===============fixme:winsock:_get_sock_fd handle -1 is not a socket (GLE 6)
==============[ and the rest when the application closed
]==========================
fixme:font:RemoveFontResourceA ("isifont1.dll"): stub
fixme:font:RemoveFontResourceA ("E:\\decfnt.fon"): stub
trace:file:FILE_DoOpenFile E:\decfnt.fon OF_READ OF_SHARE_COMPAT OF_DELETE
trace:file:FILE_DoOpenFile E:\decfnt.fon 0200
warn:file:FILE_DoOpenFile 'E:\decfnt.fon' not found or sharing violation
warn:file:FILE_DoOpenFile (E:\decfnt.fon): return = HFILE_ERROR error= 2
trace:file:FILE_DoOpenFile E:\decfnt.ttf OF_READ OF_SHARE_COMPAT OF_DELETE
trace:file:FILE_DoOpenFile E:\decfnt.ttf 0200
trace:file:FILE_DoOpenFile found /tmp/decfnt.ttf = E:\DECFNT.TTF
trace:file:FILE_DoOpenFile (E:\decfnt.ttf): OF_DELETE return = OK
fixme:tapi:lineShutdown (0000): stub.
------------------------------------------->8----------------------------------
>Lawson
>---oof---
If you need more info, let me know.
Raul Dias