In-Reply-To: <67srcv4pa941kjmt83hv19e77numaj478r@smtp.xs4all.nl>
I do have the [serialports] section completed. This PC actually
has 34 serial ports. Though I can get away with using just 8 with Wine.
Because I can't get ANY serial port stuff to work under Wine, I'm
wondering if somehow my setserial config is wrong - because clearly I've
had to muck about in this area a lot to get 34 COM: ports working on a PC.
Here's an extract from "setserial -ag" for COM1: and COM4:. Does
this look
right ? Linux itself doesn't have any problems with the ports setup like
this. For example "minicom" is happy to chat with a dumb terminal over
any
of the COM: ports.
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test
/dev/ttyS3, Line 3, UART: 16550, Port: 0x02e8, IRQ: 10
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test
Here follows a bit of log resulting from a --debugmsg +comm on a
Windows program called datapak.exe which downloads data from a weather
station data logger.
trace:comm:COMM_Init COM1 = /dev/ttyS0
trace:comm:COMM_Init LPT1 = /dev/lp0
trace:comm:COMM_Init COM2 = /dev/ttyS1
trace:comm:COMM_Init COM3 = /dev/ttyS2
trace:comm:COMM_Init COM4 = /dev/ttyS3
trace:comm:COMM_Init COM5 = /dev/ttyS4
trace:comm:COMM_Init COM6 = /dev/ttyS5
trace:comm:COMM_Init COM7 = /dev/ttyS6
trace:comm:COMM_Init COM8 = /dev/ttyS7
trace:comm:EscapeCommFunction16 cid=0, function=5
fixme:comm:EscapeCommFunction16 no cid=0 found!
trace:comm:EscapeCommFunction16 cid=0, function=5
fixme:comm:EscapeCommFunction16 no cid=0 found!
trace:comm:OpenComm16 COM4, 1024, 512
trace:comm:OpenComm16 COM4 = /dev/ttyS3
trace:comm:GetCommState16 cid 3, ptr 0x408f7e18
trace:comm:GetCommState handle 0x84, ptr 0x41142450
trace:comm:GetCommState OK
trace:comm:GetCommState bytesize 8 baudrate 9600 fParity 0 Parity 0
stopbits 1
trace:comm:GetCommState IXON ~IXOFF
trace:comm:GetCommState CRTSCTS
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:SetCommState16 cid 3, ptr 0x402f3b4e
trace:comm:SetCommState handle 0x84, ptr 0x411424cc
trace:comm:SetCommState bytesize 8 baudrate 9600 fParity 0 Parity 0
stopbits 1
trace:comm:SetCommState ~IXON ~IXOFF
trace:comm:SetCommState CRTSCTS
trace:comm:SetCommEventMask16 cid 3,mask 13560
trace:comm:GetCommModemStatus 4006 ->
trace:comm:SetCommEventMask16 modem dcd construct 0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol b0
This next group of lines repeats 35 times
trace:comm:GetCommEventMask16 cid 3, mask 13560
trace:comm:SetCommEventMask16 cid 3,mask 13560
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:SetCommEventMask16 modem dcd construct b0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol b0
There is the occasional extra occurrence of the line
trace:comm:GetCommModemStatus 4006 ->
The next group of lines repeats 5 times
trace:comm:GetCommEventMask16 cid 3, mask 13560
trace:comm:SetCommEventMask16 cid 3,mask 13560
trace:comm:GetCommModemStatus 4006 ->
trace:comm:SetCommEventMask16 modem dcd construct 0
trace:comm:GetCommModemStatus 4006 ->
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol 0
The we seem to receive some data
trace:comm:GetCommEventMask16 cid 3, mask 13560
trace:comm:SetCommEventMask16 cid 3,mask 13560
trace:comm:GetCommModemStatus 4006 ->
trace:comm:SetCommEventMask16 modem dcd construct 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 5 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 5 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 6 out 0, stol b0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 6 out 0, stol b0
trace:comm:ReadComm16 cid 3, ptr 0x402853c8, length 6
trace:comm:ReadComm16 "\317(\020 \"\220"
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol b0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 9 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 9 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 10 out 0, stol b0
trace:comm:GetCommEventMask16 cid 3, mask 13560
trace:comm:SetCommEventMask16 cid 3,mask 13560
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:SetCommEventMask16 modem dcd construct b0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 8 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 8 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 1 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 21 out 0, stol b0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 21 out 0, stol b0
trace:comm:ReadComm16 cid 3, ptr 0x4117bd50, length 21
trace:comm:ReadComm16
"\030`E\0011\031\026S\022\200\020t\021\023)\025!\031P l"
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol b0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol b0
And then it's back to this group of lines repeated 85 times
trace:comm:GetCommEventMask16 cid 3, mask 13560
trace:comm:SetCommEventMask16 cid 3,mask 13560
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:SetCommEventMask16 modem dcd construct b0
trace:comm:GetCommModemStatus 4006 ->
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol 0
And then this repeated 12 times
trace:comm:GetCommEventMask16 cid 3, mask 13560
trace:comm:SetCommEventMask16 cid 3,mask 13560
trace:comm:GetCommModemStatus 4006 ->
trace:comm:SetCommEventMask16 modem dcd construct 0
trace:comm:GetCommModemStatus 4006 ->
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol 0
and then we seem to receive more data
trace:comm:GetCommEventMask16 cid 3, mask 13560
trace:comm:SetCommEventMask16 cid 3,mask 13560
trace:comm:GetCommModemStatus 4006 ->
trace:comm:SetCommEventMask16 modem dcd construct 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 5 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 5 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 6 out 0, stol b0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 6 out 0, stol b0
trace:comm:ReadComm16 cid 3, ptr 0x4117c440, length 6
trace:comm:ReadComm16 "\217\025\026\007$5"
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol b0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 8 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 8 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 9 out 0, stol b0
trace:comm:GetCommEventMask16 cid 3, mask 13560
trace:comm:SetCommEventMask16 cid 3,mask 13560
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:SetCommEventMask16 modem dcd construct b0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 9 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 9 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 9 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 9 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 8 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 8 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 9 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 9 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 8 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 8 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 57 out 0, stol b0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 57 out 0, stol b0
trace:comm:ReadComm16 cid 3, ptr 0x4117cd10, length 57
trace:comm:ReadComm16
"\000\000DeA\0100\007\023\202qA\227\020u\227\006\006\027u\222aaA\227\020\0
10\000\031\237\227q'F\026)G\004C\020\022!\02220%\001`\020\020$\007\300\021
\023)\005"
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol b0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol b0
trace:comm:GetCommEventMask16 cid 3, mask 13560
trace:comm:SetCommEventMask16 cid 3,mask 13560
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:SetCommEventMask16 modem dcd construct b0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 9 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 9 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 9 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 9 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 8 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 8 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 9 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 9 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 8 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 8 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 48 out 0, stol b0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 48 out 0, stol b0
trace:comm:ReadComm16 cid 3, ptr 0x4117c838, length 48
trace:comm:ReadComm16
"\024@8\014\000\023\257\222\t@\000!(\007\027\021\0220\007\220 \020
\000\t72\020\021\001pCQQ\t\000\035\277\000\000\002\000g\021'\030\020\034"
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol b0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 9 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 9 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 10 out 0, stol b0
trace:comm:GetCommEventMask16 cid 3, mask 13560
trace:comm:SetCommEventMask16 cid 3,mask 13560
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:SetCommEventMask16 modem dcd construct b0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 9 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 9 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 8 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 8 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:COMM16_ReadComplete async read completed 1 bytes
trace:comm:ClearCommError handle 0x84 cbInQue = 0 cbOutQue = 0
trace:comm:GetCommModemStatus 4006 ->
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 30 out 0, stol 0
trace:comm:GetCommModemStatus 4006 ->
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 30 out 0, stol 0
trace:comm:ReadComm16 cid 3, ptr 0x4117bd50, length 30
trace:comm:ReadComm16 "\223\003:\317(
\031\"\220\030`E\0011\031\026S\022\200\020t\021\023)\025!\031P u"
trace:comm:GetCommModemStatus 4006 ->
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol 0
trace:comm:GetCommModemStatus 4006 ->
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol 0
... and then it's back to this repeated 23 times
trace:comm:GetCommEventMask16 cid 3, mask 13560
trace:comm:SetCommEventMask16 cid 3,mask 13560
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:SetCommEventMask16 modem dcd construct b0
trace:comm:GetCommModemStatus 4166 -> MS_RLSD_ON MS_DSR_ON MS_CTS_ON
trace:comm:GetCommError16 cid 3, error 0, stat 0 in 0 out 0, stol b0
... and then it all finishes like this ...
trace:comm:SetCommEventMask16 modem dcd construct b0
trace:comm:SetCommState16 cid 3, ptr 0x402f3b60
trace:comm:SetCommState handle 0x84, ptr 0x411424cc
trace:comm:SetCommState bytesize 8 baudrate 9600 fParity 0 Parity 0
stopbits 1
trace:comm:SetCommState ~IXON ~IXOFF
trace:comm:SetCommState CRTSCTS
trace:comm:EscapeCommFunction16 cid=3, function=4
trace:comm:EscapeCommFunction handle 0x84, function=4
trace:comm:EscapeCommFunction CLRRTS
trace:comm:SetCommState16 cid 3, ptr 0x402f3b60
trace:comm:SetCommState handle 0x84, ptr 0x411424cc
trace:comm:SetCommState bytesize 8 baudrate 9600 fParity 0 Parity 0
stopbits 1
trace:comm:SetCommState ~IXON ~IXOFF
trace:comm:SetCommState CRTSCTS
trace:comm:EscapeCommFunction16 cid=3, function=6
trace:comm:EscapeCommFunction handle 0x84, function=6
trace:comm:EscapeCommFunction CLRDTR
trace:comm:FlushComm16 cid=3, queue=0
trace:comm:PurgeComm handle 0x84, flags 1
trace:comm:FlushComm16 cid=3, queue=1
trace:comm:PurgeComm handle 0x84, flags 2
trace:comm:EscapeCommFunction16 cid=3, function=6
trace:comm:EscapeCommFunction handle 0x84, function=6
trace:comm:EscapeCommFunction CLRDTR
trace:comm:CloseComm16 cid=3
err:comm:COMM16_ReadComplete async read failed 000003e3
trace:comm:SetCommState16 cid 3, ptr 0x408f7e18
trace:comm:SetCommState handle 0x84, ptr 0x411424ac
trace:comm:SetCommState bytesize 8 baudrate 9600 fParity 0 Parity 0
stopbits 1
trace:comm:SetCommState IXON ~IXOFF
trace:comm:SetCommState CRTSCTS
... and the program says it cannot establish connection over the serial
port.
Now, I don't know how this Windows program is supposed to work, but I'm
a
little suprised not to see any writes to the serial port at all.
Any help appreciated.
Mike