[Wine] Re: Serial communication problem

Forester wineforum-user at winehq.org
Sun Nov 16 16:59:47 CST 2008

Very impressive use of your Asus and Wine.  Pity it doesn't quite work.

Wine contains a lot of fixmes.  Most are benign - a little bit of Windows that no application (at the time) seemed to really need.  Unfortunately that doesn't mean no application needs it.  There is also the idea that fixmes should be easy to do later, at least easier than the code surrounding them.  However, it seems that often when someone got to a bit of Windows that really has no Posix/Linux counterpart, they just put in a fixme and moved on.

I've not have a peek at other com port related threads, but I have had a peek at the source code.  I think these fixmes mean that your Windows apps are trying to set the size of input and output buffers and that this has no meaning under Linux. It ought, therefore, not to make any difference.  It certainly does not mean that your VSPDL is missing anything.

I can't suggest a workaround but I have a few suggestions if you want to dig a little further.

You don't say which version of WiIne you are using (so long as it Wine 1.something it shouldn't matter).  You don't say whether you downloaded a (the Ubuntu) binary package or whether you have built your Wine from source.  If you've done the latter, you'll find the source for the fixme you're seeing in dlls/ntdll/serial.c.  You don't say that you're running minicom under Linux, not Wine (but I guess you are - I've never heard of a Window version).  I'm just stating my assumptions - your description is really rather good.

You've two fixmes.  I'd guess one is for AISMon and the other for SeaClear.  To find out which is which, run one from the command line against minicom and then run the other.

When you start an app from the command line, put

>  WINEDEBUG=+comm

at the beginning of the line, then a space, then whatever you have typed in before.  This will give you full trace of what is going on in the serial port (this might tell you more, it might not).

Get each app working with minicom and check the serial port settings - baud rate, parity and stop bits are the crucial ones.  They will need to be the same for the two apps to talk to one another.  I guess they are but it is worth checking.  The final thing they have to agree on is the flow control.  The choice is between hardware or software flow control (but that might not be the way the apps or minicom name it).  You might have to try all combinations to find the one that works.

By all means try a different Linux virtual port package but I doubt it will make any difference.  Trying a Windows packages just means you've three apps under Wine and the number of non-working combinations goes up significantly so I'd give that a miss.

Lastly, Wine, by default runs in Windows XP compatibility mode.  If your apps aren't XP versions, you might want to change the Wine configuration to match the apps.

Best of luck

More information about the wine-users mailing list