Is DTR flow control supported?
There's a comment in comm.c in SetCommState that says it's not, but EscapeCommFunction has a SETDTR case and a CLRDTR case.
Below are the lines I'm talking about.
I'm working on an app that asks for DTR flow control and uses overlapped IO when using a modem. It establishes a modem connection, but then it can't send any data over the connection. I'm using an external modem on a serial port.
------------------------------------------------------------------------
if (lpdcb->fDtrControl == DTR_CONTROL_HANDSHAKE) { WARN("DSR/DTR flow control not supported\n"); }
comm.c line 1069
-------------------------------------------------------------
case SETDTR: TRACE("SETDTR\n"); #ifdef TIOCM_DTR direct=TRUE; result= COMM_WhackModem(fd, 0, TIOCM_DTR); break; #endif
comm.c line 548
On Fri, 22 Feb 2002, Michael Cardenas wrote:
Is DTR flow control supported?
I am not at all sure, because I don't know what it is. Hardware flow control as understood by the Linux C library is rts/cts flow control.
There's a comment in comm.c in SetCommState that says it's not, but EscapeCommFunction has a SETDTR case and a CLRDTR case.
No necessary connection. The app can manipulate those signals itself. Flow control as I understand it is done by the modem and the OS to prevent overrun of the FIFO and the OS's buffers, behind the app's back, so to speak.
Below are the lines I'm talking about.
I'm working on an app that asks for DTR flow control and uses overlapped IO when using a modem. It establishes a modem connection, but then it can't send any data over the connection. I'm using an external modem on a serial port.
Probably a logfile from
wine --debugmsg +file,+comm yourapp.exe 2>&1 | tee logfile
would mean more to me than excerpts from code I help maintain. +relay never hurts, except it takes so much space, but traces gzip pretty well. I expect Mike McCormack, the other person who is willing to touch Wine serial comms, will be along presently.
Lawson
---oof---
________________________________________________________________ GET INTERNET ACCESS FROM JUNO! Juno offers FREE or PREMIUM Internet access for less! Join Juno today! For your FREE software, visit: http://dl.www.juno.com/get/web/.
Attached is the relevant part of the output of +file,+comm.
It looks like the app is using ClearCommError to check for the number of bytes recieved. I've read that the TIOCOUTQ ioctl is buggy and not very reliable, but I'm not sure if that's been fixed or not in newer kernels.
lawson_whitney@juno.com wrote:
On Fri, 22 Feb 2002, Michael Cardenas wrote:
Is DTR flow control supported?
I am not at all sure, because I don't know what it is. Hardware flow control as understood by the Linux C library is rts/cts flow control.
There's a comment in comm.c in SetCommState that says it's not, but EscapeCommFunction has a SETDTR case and a CLRDTR case.
No necessary connection. The app can manipulate those signals itself. Flow control as I understand it is done by the modem and the OS to prevent overrun of the FIFO and the OS's buffers, behind the app's back, so to speak.
Below are the lines I'm talking about.
I'm working on an app that asks for DTR flow control and uses overlapped IO when using a modem. It establishes a modem connection, but then it can't send any data over the connection. I'm using an external modem on a serial port.
Probably a logfile from
wine --debugmsg +file,+comm yourapp.exe 2>&1 | tee logfile
would mean more to me than excerpts from code I help maintain. +relay never hurts, except it takes so much space, but traces gzip pretty well. I expect Mike McCormack, the other person who is willing to touch Wine serial comms, will be along presently.
Lawson
---oof---
GET INTERNET ACCESS FROM JUNO! Juno offers FREE or PREMIUM Internet access for less! Join Juno today! For your FREE software, visit: http://dl.www.juno.com/get/web/.
trace:file:CreateFileA COM1 GENERIC_READ GENERIC_WRITE OPEN_EXISTING FILE_FLAG_OVERLAPPED attributes 0x40000080 trace:file:CreateFileA opening device 'COM1' trace:file:DOSFS_CreateCommPort COM1 c0000000 40000080 trace:file:CreateFileA returning 0000032c fixme:comm:SetupComm insize 24376 outsize 8192 unimplemented stub trace:comm:GetCommState handle 812, ptr 0x443e6e6c 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:SetCommState handle 812, ptr 0x443e6e6c trace:comm:SetCommState bytesize 8 baudrate 115200 fParity 1 Parity 0 stopbits 1 trace:comm:SetCommState ~IXON ~IXOFF trace:comm:SetCommState CRTSCTS trace:comm:SetCommTimeouts (32c,0x443e6ea0) trace:comm:PurgeComm handle 812, flags f trace:comm:EscapeCommFunction handle 812, function=5 trace:comm:EscapeCommFunction SETDTR trace:file:SetFilePointer handle 264 offset 4394532 high 0 origin 0 trace:file:ReadFile 264 0x405b5fd4 26 0x405b5f78 (nil) trace:file:SetFilePointer handle 264 offset 4394558 high 0 origin 0 trace:file:ReadFile 264 0x41f515c0 64 0x405b5f98 (nil) trace:comm:GetCommModemStatus 4126 -> MS_DSR_ON MS_CTS_ON trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable fixme:comm:SetupComm insize 24376 outsize 8192 unimplemented stub trace:comm:GetCommState handle 812, ptr 0x443e6e3c trace:comm:GetCommState OK trace:comm:GetCommState bytesize 8 baudrate 115200 fParity 1 Parity 0 stopbits 1 trace:comm:GetCommState ~IXON ~IXOFF trace:comm:GetCommState CRTSCTS trace:comm:SetCommState handle 812, ptr 0x443e6e3c trace:comm:SetCommState bytesize 8 baudrate 115200 fParity 1 Parity 0 stopbits 1 trace:comm:SetCommState ~IXON ~IXOFF trace:comm:SetCommState CRTSCTS trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:file:SetFilePointer handle 264 offset 4940906 high 0 origin 0 trace:file:ReadFile 264 0x405b5dc8 26 0x405b5d6c (nil) trace:file:SetFilePointer handle 264 offset 4940932 high 0 origin 0 trace:file:ReadFile 264 0x41e0d768 3144 0x405b5d8c (nil) trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:SetFilePointer handle 264 offset 4940906 high 0 origin 0 trace:file:ReadFile 264 0x405b5dd0 26 0x405b5d74 (nil) trace:file:SetFilePointer handle 264 offset 4940906 high 0 origin 0 trace:file:_hwrite 264 0x405b5dec 26 trace:file:WriteFile 264 0x405b5dec 26 0x405b5d94 (nil) trace:file:_hwrite 264 0x41e0d768 3144 trace:file:WriteFile 264 0x41e0d768 3144 0x405b5dac (nil) trace:file:SetFilePointer handle 264 offset 4394532 high 0 origin 0 trace:file:WriteFile 812 0x6c140198 3 0x443e6e44 0x41f4f600 trace:file:WriteFileEx file 812 to buf 0x6c140198 num 3 0x41f4f600 func (nil) stub trace:file:ReadFile 264 0x405b5fd4 26 0x405b5f78 (nil) trace:file:SetFilePointer handle 264 offset 4394558 high 0 origin 0 trace:file:ReadFile 264 0x41f51470 64 0x405b5f98 (nil) trace:file:GetOverlappedResult (812 0x41f4f600 0x443e6e44 1) trace:file:GetOverlappedResult waiting on 0x41f4f600 trace:file:FILE_AsyncWriteService (0x41f4f600 0x6c140198 00000004) trace:file:FILE_AsyncWriteService wrote 3 more bytes 3/3 so far trace:file:GetOverlappedResult wait on 0x41f4f600 returned 0 trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 2 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c trace:file:FILE_ReadFileEx file 812 to buf 0x4453623c num 3200 0x4453621c func (nil) trace:file:GetOverlappedResult (812 0x4453621c 0x44536208 1) trace:file:GetOverlappedResult waiting on 0x4453621c trace:file:GetOverlappedResult wait on 0x4453621c returned 0 trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 7 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c trace:file:FILE_ReadFileEx file 812 to buf 0x4453623c num 3200 0x4453621c func (nil) trace:file:GetOverlappedResult (812 0x4453621c 0x44536208 1) trace:file:GetOverlappedResult waiting on 0x4453621c trace:file:GetOverlappedResult wait on 0x4453621c returned 0 trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:comm:GetCommModemStatus 4126 -> MS_DSR_ON MS_CTS_ON trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:WriteFile 812 0x41f4f370 28 0x443e6e44 0x41f4f600 trace:file:WriteFileEx file 812 to buf 0x41f4f370 num 28 0x41f4f600 func (nil) stub trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:file:GetOverlappedResult (812 0x41f4f600 0x443e6e44 1) trace:file:GetOverlappedResult waiting on 0x41f4f600 trace:file:FILE_AsyncWriteService (0x41f4f600 0x41f4f370 00000004) trace:file:FILE_AsyncWriteService wrote 28 more bytes 28/28 so far trace:file:GetOverlappedResult wait on 0x41f4f600 returned 0 trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 34 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c trace:file:FILE_ReadFileEx file 812 to buf 0x4453623c num 3200 0x4453621c func (nil) trace:file:GetOverlappedResult (812 0x4453621c 0x44536208 1) trace:file:GetOverlappedResult waiting on 0x4453621c trace:file:GetOverlappedResult wait on 0x4453621c returned 0 trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:comm:GetCommModemStatus 4126 -> MS_DSR_ON MS_CTS_ON trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:WriteFile 812 0x6c140478 5 0x443e6e20 0x41f4f600 trace:file:WriteFileEx file 812 to buf 0x6c140478 num 5 0x41f4f600 func (nil) stub trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:file:GetOverlappedResult (812 0x41f4f600 0x443e6e20 1) trace:file:GetOverlappedResult waiting on 0x41f4f600 trace:file:FILE_AsyncWriteService (0x41f4f600 0x6c140478 00000004) trace:file:FILE_AsyncWriteService wrote 5 more bytes 5/5 so far trace:file:GetOverlappedResult wait on 0x41f4f600 returned 0 trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 31 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c trace:file:FILE_ReadFileEx file 812 to buf 0x4453623c num 3200 0x4453621c func (nil) trace:file:GetOverlappedResult (812 0x4453621c 0x44536208 1) trace:file:GetOverlappedResult waiting on 0x4453621c trace:file:GetOverlappedResult wait on 0x4453621c returned 0 trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:comm:GetCommModemStatus 4126 -> MS_DSR_ON MS_CTS_ON trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:WriteFile 812 0x6c140470 5 0x443e6e20 0x41f4f600 trace:file:WriteFileEx file 812 to buf 0x6c140470 num 5 0x41f4f600 func (nil) stub trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:file:GetOverlappedResult (812 0x41f4f600 0x443e6e20 1) trace:file:GetOverlappedResult waiting on 0x41f4f600 trace:file:FILE_AsyncWriteService (0x41f4f600 0x6c140470 00000004) trace:file:FILE_AsyncWriteService wrote 5 more bytes 5/5 so far trace:file:GetOverlappedResult wait on 0x41f4f600 returned 0 trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:GetCommModemStatus 4126 -> MS_DSR_ON MS_CTS_ON trace:comm:ClearCommError handle 812 cbInQue = 37 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c trace:file:FILE_ReadFileEx file 812 to buf 0x4453623c num 3200 0x4453621c func (nil) trace:file:GetOverlappedResult (812 0x4453621c 0x44536208 1) trace:file:GetOverlappedResult waiting on 0x4453621c trace:file:GetOverlappedResult wait on 0x4453621c returned 0 trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:WriteFile 812 0x6c13ee54 2 0x443e6e48 0x41f4f600 trace:file:WriteFileEx file 812 to buf 0x6c13ee54 num 2 0x41f4f600 func (nil) stub trace:file:GetOverlappedResult (812 0x41f4f600 0x443e6e48 1) trace:file:GetOverlappedResult waiting on 0x41f4f600 trace:file:FILE_AsyncWriteService (0x41f4f600 0x6c13ee54 00000004) trace:file:FILE_AsyncWriteService wrote 2 more bytes 2/2 so far trace:file:GetOverlappedResult wait on 0x41f4f600 returned 0 trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:WriteFile 812 0x6c140264 2 0x443e6e48 0x41f4f600 trace:file:WriteFileEx file 812 to buf 0x6c140264 num 2 0x41f4f600 func (nil) stub trace:file:GetOverlappedResult (812 0x41f4f600 0x443e6e48 1) trace:file:GetOverlappedResult waiting on 0x41f4f600 trace:file:FILE_AsyncWriteService (0x41f4f600 0x6c140264 00000004) trace:file:FILE_AsyncWriteService wrote 2 more bytes 2/2 so far trace:file:GetOverlappedResult wait on 0x41f4f600 returned 0 trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:SetFilePointer handle 264 offset 4940906 high 0 origin 0 trace:file:ReadFile 264 0x405b5dc4 26 0x405b5d68 (nil) trace:file:SetFilePointer handle 264 offset 4940932 high 0 origin 0 trace:file:WriteFile 812 0x41f4f264 8 0x443e6e48 0x41f4f600 trace:file:WriteFileEx file 812 to buf 0x41f4f264 num 8 0x41f4f600 func (nil) stub trace:file:ReadFile 264 0x41e0d768 3144 0x405b5d88 (nil) trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:SetFilePointer handle 264 offset 4940906 high 0 origin 0 trace:file:ReadFile 264 0x405b5dcc 26 0x405b5d70 (nil) trace:file:GetOverlappedResult (812 0x41f4f600 0x443e6e48 1) trace:file:GetOverlappedResult waiting on 0x41f4f600 trace:file:SetFilePointer handle 264 offset 4940906 high 0 origin 0 trace:file:FILE_AsyncWriteService (0x41f4f600 0x41f4f264 00000004) trace:file:FILE_AsyncWriteService wrote 8 more bytes 8/8 so far trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c trace:file:_hwrite 264 0x405b5de8 26 trace:file:WriteFile 264 0x405b5de8 26 0x405b5d90 (nil) trace:file:GetOverlappedResult wait on 0x41f4f600 returned 0 FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:file:_hwrite 264 0x41e0d768 3144 trace:file:WriteFile 264 0x41e0d768 3144 0x405b5da8 (nil) trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:SetFilePointer handle 264 offset 4940906 high 0 origin 0 trace:file:ReadFile 264 0x405b5dd4 26 0x405b5d78 (nil) trace:file:SetFilePointer handle 264 offset 4940932 high 0 origin 0 trace:file:WriteFile 812 0x6c13e2ac 1 0x443e6e48 0x41f4f600 trace:file:WriteFileEx file 812 to buf 0x6c13e2ac num 1 0x41f4f600 func (nil) stub trace:file:ReadFile 264 0x41e0d768 3144 0x405b5d98 (nil) trace:file:SetFilePointer handle 264 offset 4940906 high 0 origin 0 trace:file:ReadFile 264 0x405b5ddc 26 0x405b5d80 (nil) trace:file:GetOverlappedResult (812 0x41f4f600 0x443e6e48 1) trace:file:GetOverlappedResult waiting on 0x41f4f600 trace:file:SetFilePointer handle 264 offset 4940906 high 0 origin 0 trace:file:FILE_AsyncWriteService (0x41f4f600 0x6c13e2ac 00000004) trace:file:FILE_AsyncWriteService wrote 1 more bytes 1/1 so far trace:file:_hwrite 264 0x405b5df8 26 trace:file:WriteFile 264 0x405b5df8 26 0x405b5da0 (nil) trace:file:GetOverlappedResult wait on 0x41f4f600 returned 0 trace:file:_hwrite 264 0x41e0d768 3144 trace:file:WriteFile 264 0x41e0d768 3144 0x405b5db8 (nil) trace:file:SetFilePointer handle 264 offset 4394532 high 0 origin 0 trace:file:ReadFile 264 0x405b5fd4 26 0x405b5f78 (nil) trace:file:SetFilePointer handle 264 offset 4394558 high 0 origin 0 trace:file:ReadFile 264 0x41f51190 64 0x405b5f98 (nil) trace:file:SetFilePointer handle 264 offset 4302661 high 0 origin 0 trace:file:ReadFile 264 0x405b5ac4 26 0x405b5a68 (nil) trace:file:SetFilePointer handle 264 offset 4302687 high 0 origin 0 trace:file:ReadFile 264 0x41e0d768 4332 0x405b5a88 (nil) trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 13 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c trace:file:FILE_ReadFileEx file 812 to buf 0x4453623c num 3200 0x4453621c func (nil) trace:file:GetOverlappedResult (812 0x4453621c 0x44536208 1) trace:file:GetOverlappedResult waiting on 0x4453621c trace:file:GetOverlappedResult wait on 0x4453621c returned 0 trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:GetCommModemStatus 4126 -> MS_DSR_ON MS_CTS_ON trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:GetCommModemStatus 4126 -> MS_DSR_ON MS_CTS_ON trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:GetCommModemStatus 4126 -> MS_DSR_ON MS_CTS_ON trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:GetCommModemStatus 4126 -> MS_DSR_ON MS_CTS_ON trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:GetCommModemStatus 4126 -> MS_DSR_ON MS_CTS_ON trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:GetCommModemStatus 4126 -> MS_DSR_ON MS_CTS_ON trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:GetCommModemStatus 4126 -> MS_DSR_ON MS_CTS_ON trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0 trace:file:ReadFile 812 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable trace:comm:ClearCommError handle 812 cbInQue = 0 cbOutQue = 0
Attached is the output of +relay,+file,+comm.
It looks like ClearCommError is returning 20, which is "ERROR_BAD_UNIT", system cannot find the device specified. Shouldn't this be returning ERROR_IO_PENDING for overlapped io?
I changed files/file.c to call SetLastError(ERROR_IO_PENDING) after the call to read(...) in the FD_TYPE_OVERLAPPED case instead of calling FILE_SetDosError, but that caused my app to not even be able to talk to the modem to get it to connect, so apparently that's not the problem.
08d06170:Call kernel32.CreateFileA(41f4f34c "COM1",c0000000,00000000,00000000,00000003,40000080,00000000) ret=6c11415d trace:file:CreateFileA COM1 GENERIC_READ GENERIC_WRITE OPEN_EXISTING FILE_FLAG_OVERLAPPED attributes 0x40000080 trace:file:CreateFileA opening device 'COM1' trace:file:DOSFS_CreateCommPort COM1 c0000000 40000080 trace:file:CreateFileA returning 00000328 08d06170:Ret kernel32.CreateFileA() retval=00000328 ret=6c11415d 08d06170:Call kernel32.SetupComm(00000328,00005f38,00002000) ret=6c1144eb fixme:comm:SetupComm insize 24376 outsize 8192 unimplemented stub 08d06170:Ret kernel32.SetupComm() retval=00000001 ret=6c1144eb 08d06170:Call kernel32.GetCommState(00000328,443e6e6c) ret=6c114503 trace:comm:GetCommState handle 808, ptr 0x443e6e6c trace:comm:GetCommState OK trace:comm:GetCommState bytesize 8 baudrate 115200 fParity 1 Parity 0 stopbits 1 trace:comm:GetCommState ~IXON ~IXOFF trace:comm:GetCommState CRTSCTS 08d06170:Ret kernel32.GetCommState() retval=00000001 ret=6c114503 08d06170:Call kernel32.SetCommState(00000328,443e6e6c) ret=6c114565 trace:comm:SetCommState handle 808, ptr 0x443e6e6c trace:comm:SetCommState bytesize 8 baudrate 115200 fParity 1 Parity 0 stopbits 1 trace:comm:SetCommState ~IXON ~IXOFF trace:comm:SetCommState CRTSCTS 08d06170:Ret kernel32.SetCommState() retval=00000001 ret=6c114565 08d06170:Call kernel32.SetCommTimeouts(00000328,443e6ea0) ret=6c1141ca trace:comm:SetCommTimeouts (328,0x443e6ea0) 08d06170:Ret kernel32.SetCommTimeouts() retval=00000001 ret=6c1141ca 08d06170:Call kernel32.PurgeComm(00000328,0000000f) ret=6c1141f2 trace:comm:PurgeComm handle 808, flags f 08d06170:Ret kernel32.PurgeComm() retval=00000001 ret=6c1141f2 08d06170:Call kernel32.EscapeCommFunction(00000328,00000005) ret=6c114224 trace:comm:EscapeCommFunction handle 808, function=5 trace:comm:EscapeCommFunction SETDTR 08d06170:Ret kernel32.EscapeCommFunction() retval=00000001 ret=6c114224 08d06170:Call kernel32.CreateEventA(41f51260,00000001,00000000,00000000) ret=6c111bfc 08d06170:Ret kernel32.CreateEventA() retval=0000032c ret=6c111bfc 08d06170:Call kernel32.CreateThread(00000000,00000000,78002432,41f511f0,00000000,443e6e8c) ret=78002426 08b947e0:Ret kernel32.CreateThread() retval=00000320 ret=78002426 08b947e0:Call kernel32.Sleep(00000001) ret=6c1106ce 08b947e0:Ret kernel32.Sleep() retval=00000102 ret=6c1106ce 08b947e0:Call kernel32.Sleep(00000001) ret=6c1106ce 08b947e0:Ret kernel32.Sleep() retval=00000102 ret=6c1106ce 08b947e0:Call user32.PeekMessageA(405b620c,00000000,00000000,00000000,00000003) ret=60f0119b 08b947e0:Ret user32.PeekMessageA() retval=00000001 ret=60f0119b 08b947e0:Call user32.TranslateMessage(405b620c) ret=60f011b4 08b947e0:Ret user32.TranslateMessage() retval=00000000 ret=60f011b4 08b947e0:Call user32.DispatchMessageA(405b620c) ret=60f011ba 08b947e0:Call window proc 0x60f05450 (hwnd=0001002a,msg=WM_USER+04d8,wp=00000000,lp=00000000) 08b947e0:Call kernel32._llseek(00000108,00430e24,00000000) ret=60f0f86e trace:file:SetFilePointer handle 264 offset 4394532 high 0 origin 0 08b947e0:Ret kernel32._llseek() retval=00430e24 ret=60f0f86e 08b947e0:Call kernel32._hread(00000108,405b5eac,0000001a) ret=60f0f883 trace:file:ReadFile 264 0x405b5eac 26 0x405b5db4 (nil) 08b947e0:Ret kernel32._hread() retval=0000001a ret=60f0f883 08b947e0:Call kernel32._llseek(00000108,00430e3e,00000000) ret=60f0f027 trace:file:SetFilePointer handle 264 offset 4394558 high 0 origin 0 08b947e0:Ret kernel32._llseek() retval=00430e3e ret=60f0f027 08b947e0:Call kernel32._hread(00000108,41f511a0,00000040) ret=60f0f048 trace:file:ReadFile 264 0x41f511a0 64 0x405b5dd4 (nil) 08b947e0:Ret kernel32._hread() retval=00000040 ret=60f0f048 08d06360:Starting thread (entryproc=0x78002432) 08d06360:Call PE DLL (proc=0xbfe21038,module=bfe20000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0xbfe21038,module=bfe20000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x40839b80,module=40829000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x40839b80,module=40829000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x4079f7d0,module=40791000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x4079f7d0,module=40791000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x40a90350,module=40a82000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x40a90350,module=40a82000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x40682b1c,module=4065a000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x40682b1c,module=4065a000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x41c7bc80,module=41c75000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x41c7bc80,module=41c75000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x405ee65c,module=405d4000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x405ee65c,module=405d4000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x78001c48,module=78000000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x78001c48,module=78000000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x408d2220,module=408c1000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x408d2220,module=408c1000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x658417c0,module=65840000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x658417c0,module=65840000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x6509f2bb,module=65080000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x6509f2bb,module=65080000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x657820d0,module=65780000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x657820d0,module=65780000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x65943315,module=65940000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x65943315,module=65940000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x65f21fcb,module=65f00000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x65f21fcb,module=65f00000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x10005fd2,module=10000000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x10005fd2,module=10000000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x40a4c3d0,module=40a40000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x40a4c3d0,module=40a40000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x6534d03b,module=65340000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x6534d03b,module=65340000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x701015a4,module=70100000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x701015a4,module=70100000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x7f9617fd,module=7f960000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x7f9617fd,module=7f960000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x70201631,module=70200000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x70201631,module=70200000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x428a800a,module=428a7000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x428a800a,module=428a7000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x655c15f0,module=655c0000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x655c15f0,module=655c0000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x6510fe71,module=65100000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x6510fe71,module=65100000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x7f841536,module=7f840000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x7f841536,module=7f840000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x7f99102a,module=7f990000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x7f99102a,module=7f990000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x7fb41269,module=7fb40000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x7fb41269,module=7fb40000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x7fb0195c,module=7fb00000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x7fb0195c,module=7fb00000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x7f951603,module=7f950000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x7f951603,module=7f950000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x7fc310d9,module=7fc30000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x7fc310d9,module=7fc30000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x7f8758af,module=7f870000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x7f8758af,module=7f870000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x42e88a2c,module=42e83000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x42e88a2c,module=42e83000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x7f881356,module=7f880000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x7f881356,module=7f880000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x603016bb,module=60300000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x603016bb,module=60300000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x70291483,module=70290000,type=2,res=(nil)) 08d06360:Call kernel32.HeapAlloc(40380000,00000000,00000028) ret=7029181a 08d06360:Ret kernel32.HeapAlloc() retval=441ae1dc ret=7029181a 08d06360:Ret PE DLL (proc=0x70291483,module=70290000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x6600e0e0,module=66000000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x6600e0e0,module=66000000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x3000e449,module=30000000,type=2,res=(nil)) 08d06360:Call kernel32.GlobalAlloc(00000040,000095b6) ret=300011ca 08d06360:Ret kernel32.GlobalAlloc() retval=441ae210 ret=300011ca 08d06360:Call kernel32.lstrcpyA(441ae280,30015d10 "Extract Progress") ret=300011a3 08d06360:Ret kernel32.lstrcpyA() retval=441ae280 ret=300011a3 08d06360:Ret PE DLL (proc=0x3000e449,module=30000000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x6c00868a,module=6c000000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x6c00868a,module=6c000000,type=2,res=(nil)) retval=1 08d06360:Call PE DLL (proc=0x70c31dea,module=70c30000,type=2,res=(nil)) 08d06360:Ret PE DLL (proc=0x70c31dea,module=70c30000,type=2,res=(nil)) retval=1 08d06360:Call kernel32.GetCurrentThreadId() ret=78002476 08d06360:Ret kernel32.GetCurrentThreadId() retval=08d06360 ret=78002476 08d06360:Call kernel32.GetTickCount() ret=6c1145a0 08d06360:Ret kernel32.GetTickCount() retval=0001b1be ret=6c1145a0 08d06360:Call kernel32.CreateEventA(00000000,00000001,00000000,00000000) ret=6c1145d5 08d06360:Ret kernel32.CreateEventA() retval=00000338 ret=6c1145d5 08d06360:Call kernel32.GetTickCount() ret=6c1145f3 08d06360:Ret kernel32.GetTickCount() retval=0001b1be ret=6c1145f3 08d06360:Call kernel32.ClearCommError(00000328,44536214,44536230) ret=6c1146e6 trace:comm:ClearCommError handle 808 cbInQue = 0 cbOutQue = 0 08d06360:Ret kernel32.ClearCommError() retval=00000001 ret=6c1146e6 08d06360:Call kernel32.ResetEvent(00000338) ret=6c11472d 08d06360:Ret kernel32.ResetEvent() retval=00000001 ret=6c11472d 08d06360:Call kernel32.ReadFile(00000328,4453623c,00000c80,44536208,4453621c) ret=6c11474a trace:file:ReadFile 808 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable 08d06360:Ret kernel32.ReadFile() retval=00000000 ret=6c11474a 08d06360:Call kernel32.GetLastError() ret=6c114754 08d06360:Ret kernel32.GetLastError() retval=00000020 ret=6c114754 08d06360:Call kernel32.GetLastError() ret=6c1147c5 08d06360:Ret kernel32.GetLastError() retval=00000020 ret=6c1147c5 08d06360:Call kernel32.Sleep(00000001) ret=6c1106ce 08d06360:Ret kernel32.Sleep() retval=00000102 ret=6c1106ce 08d06360:Call kernel32.Sleep(00000001) ret=6c1106ce 08d06360:Ret kernel32.Sleep() retval=00000102 ret=6c1106ce 08d06360:Call kernel32.GetTickCount() ret=6c1145f3 08d06360:Ret kernel32.GetTickCount() retval=0001b1c1 ret=6c1145f3 08d06360:Call kernel32.GetCommModemStatus(00000328,44536210) ret=6c114615 trace:comm:GetCommModemStatus 4126 -> MS_DSR_ON MS_CTS_ON 08d06360:Ret kernel32.GetCommModemStatus() retval=00000001 ret=6c114615 08d06360:Call kernel32.ClearCommError(00000328,44536214,44536230) ret=6c1146e6 trace:comm:ClearCommError handle 808 cbInQue = 0 cbOutQue = 0 08d06360:Ret kernel32.ClearCommError() retval=00000001 ret=6c1146e6 08d06360:Call kernel32.ResetEvent(00000338) ret=6c11472d 08d06360:Ret kernel32.ResetEvent() retval=00000001 ret=6c11472d 08d06360:Call kernel32.ReadFile(00000328,4453623c,00000c80,44536208,4453621c) ret=6c11474a trace:file:ReadFile 808 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable 08d06360:Ret kernel32.ReadFile() retval=00000000 ret=6c11474a 08d06360:Call kernel32.GetLastError() ret=6c114754 08d06360:Ret kernel32.GetLastError() retval=00000020 ret=6c114754 08d06360:Call kernel32.GetLastError() ret=6c1147c5 08d06360:Ret kernel32.GetLastError() retval=00000020 ret=6c1147c5 08d06360:Call kernel32.Sleep(00000001) ret=6c1106ce 08d06360:Ret kernel32.Sleep() retval=00000102 ret=6c1106ce 08d06360:Call kernel32.Sleep(00000001) ret=6c1106ce 08d06360:Ret kernel32.Sleep() retval=00000102 ret=6c1106ce 08d06360:Call kernel32.GetTickCount() ret=6c1145f3 08d06360:Ret kernel32.GetTickCount() retval=0001b1c3 ret=6c1145f3 08d06360:Call kernel32.ClearCommError(00000328,44536214,44536230) ret=6c1146e6 trace:comm:ClearCommError handle 808 cbInQue = 0 cbOutQue = 0 08d06360:Ret kernel32.ClearCommError() retval=00000001 ret=6c1146e6 08d06360:Call kernel32.ResetEvent(00000338) ret=6c11472d 08d06360:Ret kernel32.ResetEvent() retval=00000001 ret=6c11472d 08d06360:Call kernel32.ReadFile(00000328,4453623c,00000c80,44536208,4453621c) ret=6c11474a trace:file:ReadFile 808 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable 08d06360:Ret kernel32.ReadFile() retval=00000000 ret=6c11474a 08d06360:Call kernel32.GetLastError() ret=6c114754 08d06360:Ret kernel32.GetLastError() retval=00000020 ret=6c114754 08d06360:Call kernel32.GetLastError() ret=6c1147c5 08d06360:Ret kernel32.GetLastError() retval=00000020 ret=6c1147c5 08d06360:Call kernel32.Sleep(00000001) ret=6c1106ce 08d06360:Ret kernel32.Sleep() retval=00000102 ret=6c1106ce 08d06360:Call kernel32.Sleep(00000001) ret=6c1106ce 08d06360:Ret kernel32.Sleep() retval=00000102 ret=6c1106ce 08d06360:Call kernel32.GetTickCount() ret=6c1145f3 08d06360:Ret kernel32.GetTickCount() retval=0001b1c6 ret=6c1145f3 08d06360:Call kernel32.ClearCommError(00000328,44536214,44536230) ret=6c1146e6 trace:comm:ClearCommError handle 808 cbInQue = 0 cbOutQue = 0 08d06360:Ret kernel32.ClearCommError() retval=00000001 ret=6c1146e6 08d06360:Call kernel32.ResetEvent(00000338) ret=6c11472d 08d06360:Ret kernel32.ResetEvent() retval=00000001 ret=6c11472d 08d06360:Call kernel32.ReadFile(00000328,4453623c,00000c80,44536208,4453621c) ret=6c11474a trace:file:ReadFile 808 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable 08d06360:Ret kernel32.ReadFile() retval=00000000 ret=6c11474a 08d06360:Call kernel32.GetLastError() ret=6c114754 08d06360:Ret kernel32.GetLastError() retval=00000020 ret=6c114754 08d06360:Call kernel32.GetLastError() ret=6c1147c5 08d06360:Ret kernel32.GetLastError() retval=00000020 ret=6c1147c5 08d06360:Call kernel32.Sleep(00000001) ret=6c1106ce 08d06360:Ret kernel32.Sleep() retval=00000102 ret=6c1106ce 08d06360:Call kernel32.Sleep(00000001) ret=6c1106ce 08d06360:Ret kernel32.Sleep() retval=00000102 ret=6c1106ce 08d06360:Call kernel32.GetTickCount() ret=6c1145f3 08d06360:Ret kernel32.GetTickCount() retval=0001b1c8 ret=6c1145f3 08d06360:Call kernel32.ClearCommError(00000328,44536214,44536230) ret=6c1146e6 trace:comm:ClearCommError handle 808 cbInQue = 0 cbOutQue = 0 08d06360:Ret kernel32.ClearCommError() retval=00000001 ret=6c1146e6 08d06360:Call kernel32.ResetEvent(00000338) ret=6c11472d 08d06360:Ret kernel32.ResetEvent() retval=00000001 ret=6c11472d 08d06360:Call kernel32.ReadFile(00000328,4453623c,00000c80,44536208,4453621c) ret=6c11474a trace:file:ReadFile 808 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable 08d06360:Ret kernel32.ReadFile() retval=00000000 ret=6c11474a 08d06360:Call kernel32.GetLastError() ret=6c114754 08d06360:Ret kernel32.GetLastError() retval=00000020 ret=6c114754 08d06360:Call kernel32.GetLastError() ret=6c1147c5 08d06360:Ret kernel32.GetLastError() retval=00000020 ret=6c1147c5 08d06360:Call kernel32.Sleep(00000001) ret=6c1106ce 08d06360:Ret kernel32.Sleep() retval=00000102 ret=6c1106ce 08d06360:Call kernel32.Sleep(00000001) ret=6c1106ce 08d06360:Ret kernel32.Sleep() retval=00000102 ret=6c1106ce 08d06360:Call kernel32.GetTickCount() ret=6c1145f3 08d06360:Ret kernel32.GetTickCount() retval=0001b1cb ret=6c1145f3 08d06360:Call kernel32.ClearCommError(00000328,44536214,44536230) ret=6c1146e6 trace:comm:ClearCommError handle 808 cbInQue = 0 cbOutQue = 0 08d06360:Ret kernel32.ClearCommError() retval=00000001 ret=6c1146e6 08d06360:Call kernel32.ResetEvent(00000338) ret=6c11472d 08d06360:Ret kernel32.ResetEvent() retval=00000001 ret=6c11472d 08d06360:Call kernel32.ReadFile(00000328,4453623c,00000c80,44536208,4453621c) ret=6c11474a trace:file:ReadFile 808 0x4453623c 3200 0x44536208 0x4453621c FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock trace:file:FILE_SetDosError errno = 11 Resource temporarily unavailable
On Mon, 25 Feb 2002, Michael Cardenas wrote:
Attached is the output of +relay,+file,+comm.
It looks like ClearCommError is returning 20, which is "ERROR_BAD_UNIT", system cannot find the device specified. Shouldn't this be returning ERROR_IO_PENDING for overlapped io?
I changed files/file.c to call SetLastError(ERROR_IO_PENDING) after the call to read(...) in the FD_TYPE_OVERLAPPED case instead of calling FILE_SetDosError, but that caused my app to not even be able to talk to the modem to get it to connect, so apparently that's not the problem.
May we see a
wine --version, please?
If I am not mistaken,
FIXME:pthread_rwlock_rdlock FIXME:pthread_rwlock_unlock
went away 11 December 2001, and were absent from the Boxing Day FTP release of Wine, which is already obsolete:
wine --version Wine version 20020122
IIRC, you are using an external modem. How do you know that it is connected with a good modem cable? That it works for Windows means nothing. I am reasonably sure Windows simply does not do hardware flow control at all. If it works for Linux pppd, I would have more confidence in it, but I would still check every line with a voltmeter. Also, the settings of the modem matter. I have a no-name V.34 that does what it calls "CTS flow control" by default. It is essentially unusable for Linux unless I give it an AT\Q3 to command it to use RTS/CTS flow control, then it works fine. Of course, any modem would probably have a different AT command for that. If CRTSCTS is set in the termios, Linux does _strict_ RTS/CTS flow control.
If your modem works with Linux pppd, why would you even want to run a Windows comms app? 8-D
I'm not convinced the GLE 20 is not a hangover from something that happened before.
Lawson
Constants aren't, and variables won't.
On Mon, 25 Feb 2002, Michael Cardenas wrote:
Attached is the relevant part of the output of +file,+comm.
It looks like the app is using ClearCommError to check for the number of bytes recieved. I've read that the TIOCOUTQ ioctl is buggy and not very reliable, but I'm not sure if that's been fixed or not in newer kernels.
My comms apps have been banging on ClearCommError for that since August 1997, but without the overlapped nonsense. It works for me or I wouldn't have gotten your letter. This app appears to ask for rts/cts flow control - at least that is what we give it. Dumb question: is there a modem cable or null-modem cable involved? If so, is it a good one, with wires for each signal (properly crossed for a null-modem cable), or is it a 3 wire Windows cable? Wine actually does use (cause the serial driver to use) rts/cts flow control if the app asks for it, and it won't work on a 3 wire cable. I don't believe Windows actually does hardware flow control at all, no matter what the app asks for.
I don't really know the overlapped stuff too well, but I would expect having an overlapped read going on would keep cbInQue at zero: as soon as there are bytes available, they get read. Maybe Windows doesn't do it that way. Maybe we don't either.
Mike?
Lawson ---oof---
On 2002.02.25 16:38 lawson_whitney@juno.com wrote:
On Mon, 25 Feb 2002, Michael Cardenas wrote:
Attached is the relevant part of the output of +file,+comm.
It looks like the app is using ClearCommError to check for the number
of
bytes recieved. I've read that the TIOCOUTQ ioctl is buggy and not very reliable, but I'm not sure if that's been fixed or not in newer
kernels.
My comms apps have been banging on ClearCommError for that since August 1997, but without the overlapped nonsense. It works for me or I wouldn't have gotten your letter. This app appears to ask for rts/cts flow control - at least that is what we give it. Dumb question: is there a modem cable or null-modem cable involved? If so, is it a good one, with wires for each signal (properly crossed for a null-modem cable), or is it a 3 wire Windows cable? Wine actually does use (cause the serial driver to use) rts/cts flow control if the app asks for it, and it won't work on a 3 wire cable. I don't believe Windows actually does hardware flow control at all, no matter what the app asks for.
Hmm.. I am pretty sure that Windows 9x and NT do use RTS/CTS flow control. The standard win3.11 drivers don't IIRC, but 95 and above and NT always do if you have the hardware flow control radio box checked in the properties for the modem (and the app doesn't override it itself).
[SNIP]
One thing I would like to mention is that I think almost all Gateway 2000 486 computers have an incorrectly wired 25-pin serial port. DTR is not on the correct pin on the 25-pin D connector but is on the correct pin on the 10pin connector that is on the motherboard (which to my knowledge is the same for almost every motherboard that uses this type of serial connection). If you upgraded the motherboard in one of these old cases and did not use the new serial ports that came with the new mobo this may cause you some trouble. Fortunately my USR v.Everything has a DIP switch setting to turn off DTR control. The downside is that with DTR turned off you cannot just drop DTR to hang up but must instead use +++ATH. Fortunately I got rid of that 486 board many computers ago. (Un)fortunately I no longer use the v.Everything modem for much since I have a cable modem. It's almost a shame too, it's a really nice modem, connects with everything under the sun.
-Dave
On Fri, Feb 22, 2002 at 05:36:53PM -0800, Michael Cardenas wrote:
Is DTR flow control supported?
There's a comment in comm.c in SetCommState that says it's not, but EscapeCommFunction has a SETDTR case and a CLRDTR case.
To my knowledge the serial driver of Linux does not support DTR flow control.
So it might be a bit hard to implement in WINE.
There is an article from Rein Klazes, http://www.winehq.com/hypermail/wine-users/2001/12/0209.html could you try his suggestions?
Ciao, Marcus