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
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.
Hi! I have a very good news today! I tested the current wine git and I've found that it works again in the case of a device mentioned above! It's really good, because it didn't work in 0.9.61 and using 0.9.40 was not good because of another problems in this version. Even better, I've also found that today's wine fixes the last graphics glitches remaining in the program GUI, so now it works PERFECTLY under wine, and it seems that reading/writing the device over the serial port is even FASTER than from windows! I will try another devices soon, to help to debug serial port problems as much as possible! With regards, Pavel Troller
On Wed, May 14, 2008 at 6:26 AM, Pavel Troller patrol@sinus.cz wrote:
Hi! I have a very good news today! I tested the current wine git and I've found that it works again in the case of a device mentioned above! It's really good, because it didn't work in 0.9.61 and using 0.9.40 was not good because of another problems in this version. Even better, I've also found that today's wine fixes the last graphics glitches remaining in the program GUI, so now it works PERFECTLY under wine, and it seems that reading/writing the device over the serial port is even FASTER than from windows! I will try another devices soon, to help to debug serial port problems as much as possible! With regards, Pavel Troller
Wonderful! Can you add this information to the AppDB?
On Wed, May 14, 2008 at 6:26 AM, Pavel Troller patrol@sinus.cz wrote:
Hi! I have a very good news today! I tested the current wine git and I've found that it works again in the case of a device mentioned above! It's really good, because it didn't work in 0.9.61 and using 0.9.40 was not good because of another problems in this version. Even better, I've also found that today's wine fixes the last graphics glitches remaining in the program GUI, so now it works PERFECTLY under wine, and it seems that reading/writing the device over the serial port is even FASTER than from windows! I will try another devices soon, to help to debug serial port problems as much as possible! With regards, Pavel Troller
Wonderful! Can you add this information to the AppDB?
To which app ? My one is a very special program, working just with a special telecom device. It's not available publicly anywhere. It doesn't have any entry in AppDB, it would be useless. I will add remarks to other apps, which I will verify later (i.e. MapSource souftware for Garmin GPS etc.).
With regards, Pavel Troller