Serial port support in wine-1.0: What to do to make it working ?

Dan Kegel dank at kegel.com
Wed May 7 08:57:32 CDT 2008


Pavel wrote:
> I have to use wine-0.9.40 to communicate with a device
> in my work (simple text-based command-reply communication),
> any wine newer than say 0.9.50 doesn't work, the communication times out.
> ... I will try to dig into the driver and search for the bugs there.
> One of the cases is I think simple, the device uses normal ASCII protocol
> and I can talk to it using kermit or minicom, but the windows program
> intended to control it simply stucks on the first command and never
>  gets a reply. I think there is a good place to start.

Yep.  FWIW, the fix might be tiny.  Alexandre fixed a serial bug today,
http://bugs.winehq.org/show_bug.cgi?id=9356
with just a single assignment.

If you can come up with a simple way for others to reproduce
the problem, that might help, too.

Lessee... here are most of the existing serial bug reports;
some of them (eg. 4055, 8783, 9988, 10051, 10056, 11399, 11811) have
interesting info:
http://bugs.winehq.org/show_bug.cgi?id=1244 (big grab bag of apps,
some downloadable)
http://bugs.winehq.org/show_bug.cgi?id=1700 (putty, downloadable)
http://bugs.winehq.org/show_bug.cgi?id=4055 (interesting, points to kernel bug)
http://bugs.winehq.org/show_bug.cgi?id=4633 (Garmin)
http://bugs.winehq.org/show_bug.cgi?id=4753 (workaround, interesting,
mentions kernel problem)
http://bugs.winehq.org/show_bug.cgi?id=5154 (Siemens phone; 0.9.12 bad)
http://bugs.winehq.org/show_bug.cgi?id=6895 (0.9.27 bad; timeout control broken)
http://bugs.winehq.org/show_bug.cgi?id=5632  (Secure CRT behaves
funny, downloadable)
http://bugs.winehq.org/show_bug.cgi?id=8113 (0.27 good, 0.35 bad)
http://bugs.winehq.org/show_bug.cgi?id=8783 (pinpoints the very commit
that caused the problem in 0.9.23!)
http://bugs.winehq.org/show_bug.cgi?id=9988 (good analysis, example code, patch)
http://bugs.winehq.org/show_bug.cgi?id=10051 (HAL needs to create
entries for serial ports?)
http://bugs.winehq.org/show_bug.cgi?id=10056 (good source testcase!)
http://bugs.winehq.org/show_bug.cgi?id=10573 (wine's tests fail on
laptop with serial port; bisect)
http://bugs.winehq.org/show_bug.cgi?id=11077 (HAL needs to create
entries for serial ports)
http://bugs.winehq.org/show_bug.cgi?id=11339 (bugfix for serial.c)
http://bugs.winehq.org/show_bug.cgi?id=11811 (HAL support needs improvement)
http://bugs.winehq.org/show_bug.cgi?id=11829 (0.9.22 good, 0.9.56 bad)
http://bugs.winehq.org/show_bug.cgi?id=12479 (timeout problems?)

OMG that's a lot of bugs.   There has been a LOT of analysis done
by various folks; now it's time to grind through it all and fix the problems.
As I mentioned, Alexandre has fixed one already; perhaps
he has time to look at a few more of these.

FWIW, I have some win32 serial i/o example source code here, along with
an archive of comments about problems  (from back in the day when
multiplayer games talked to modems):
http://alumnus.caltech.edu/~dank/overlap.htm
- Dan



More information about the wine-devel mailing list