[Wine] Heavy Weather / Serial Port issues

Dan Armbrust daniel.armbrust.list at gmail.com
Thu May 10 22:27:26 CDT 2007


I'll create the bug report and gather some better info and full logs
when I get some additional free time next week.

In the meantime - here are some snippits from a comm and tid log that
I generated, if they provide any insight:


0009:fixme:win:EnumDisplayDevicesW ((null),0,0x32f840,0x00000000), stub!
0009:fixme:win:EnumDisplayDevicesW ((null),1,0x32f840,0x00000000), stub!
0009:fixme:win:EnumDisplayDevicesW ((null),0,0x32f840,0x00000000), stub!
0009:fixme:win:EnumDisplayDevicesW ((null),1,0x32f840,0x00000000), stub!
000d:trace:comm:dump_dcb bytesize=8 baudrate=2400 fParity=0 Parity=0 stopbits=1
000d:trace:comm:dump_dcb ~IXON ~IXOFF
000d:trace:comm:dump_dcb fOutxCtsFlow=0 fRtsControl=1
000d:trace:comm:dump_dcb fOutxDsrFlow=0 fDtrControl=1
000d:trace:comm:dump_dcb ~CRTSCTS
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_BAUD_RATE 0x7e0816dc
4 (nil) 0 0x7e081668
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_LINE_CONTROL
0x7e0816e1 3 (nil) 0 0x7e081668
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_HANDFLOW 0x7e0816c4
16 (nil) 0 0x7e081668
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_CHARS 0x7e0816d6 6
(nil) 0 0x7e081668
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_QUEUE_SIZE 0x7e0816e0
8 (nil) 0 0x7e081684
000d:fixme:comm:set_queue_size insize 1298 outsize 1298 unimplemented stub
000d:trace:comm:SetCommTimeouts (0xa8, 0x7e08170c)
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_TIMEOUTS 0x7e0816d0
20 (nil) 0 0x7e081668
000d:trace:comm:dump_dcb bytesize=8 baudrate=2400 fParity=0 Parity=0 stopbits=1
000d:trace:comm:dump_dcb ~IXON ~IXOFF
000d:trace:comm:dump_dcb fOutxCtsFlow=0 fRtsControl=1
000d:trace:comm:dump_dcb fOutxDsrFlow=0 fDtrControl=1
000d:trace:comm:dump_dcb ~CRTSCTS
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_BAUD_RATE 0x7e081900
4 (nil) 0 0x7e08188c
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_LINE_CONTROL
0x7e081905 3 (nil) 0 0x7e08188c
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_HANDFLOW 0x7e0818e8
16 (nil) 0 0x7e08188c
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_CHARS 0x7e0818fa 6
(nil) 0 0x7e08188c
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_QUEUE_SIZE 0x7e081904
8 (nil) 0 0x7e0818a8
000d:fixme:comm:set_queue_size insize 1298 outsize 1298 unimplemented stub
000d:trace:comm:SetCommTimeouts (0xa8, 0x7e081930)
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_TIMEOUTS 0x7e0818f4
20 (nil) 0 0x7e08188c
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_RTS (nil) 0 (nil) 0 0x7e0818c8
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_CLR_DTR (nil) 0 (nil) 0 0x7e0818c8
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_PURGE 0x7e08194c 4 (nil)
0 0x7e0818e8
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_PURGE 0x7e08194c 4 (nil)
0 0x7e0818e8
000d:trace:comm:SetCommMask handle 0xa8, mask 0
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_WAIT_MASK 0x7e081924
4 (nil) 0 0x7e0818c0
000d:trace:comm:SetCommMask handle 0xa8, mask 1
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_WAIT_MASK 0x7e0818e8
4 (nil) 0 0x7e081884
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_PURGE 0x7e081918 4 (nil)
0 0x7e0818b4
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_PURGE 0x7e081918 4 (nil)
0 0x7e0818b4
000e:trace:comm:SetCommTimeouts (0xa8, 0x7df809b0)
000e:trace:comm:io_control 0xa8 IOCTL_SERIAL_SET_TIMEOUTS 0x7df80980
20 (nil) 0 0x7df80918
000f:trace:comm:io_control 0xa8 IOCTL_SERIAL_WAIT_ON_MASK (nil) 0
0x7de7fa14 4 0x7de7f9e4
000f:trace:comm:get_modem_status 4004 ->
000f:trace:comm:check_events mask 0x00000001
000f:trace:comm:check_events old->rx          0x000003bb vs. new->rx
       0x000003bb
000f:trace:comm:check_events old->tx          0x000001d4 vs. new->tx
       0x000001d4
000f:trace:comm:check_events old->frame       0x00000000 vs.
new->frame       0x00000000
000f:trace:comm:check_events old->overrun     0x00000000 vs.
new->overrun     0x00000000
000f:trace:comm:check_events old->parity      0x00000000 vs.
new->parity      0x00000000
000f:trace:comm:check_events old->brk         0x00000004 vs. new->brk
       0x00000004
000f:trace:comm:check_events old->buf_overrun 0x00000000 vs.
new->buf_overrun 0x00000000
0010:trace:comm:wait_for_event device=0xa8 fd=0x00000013
mask=0x00000001 buffer=0x7de7fa14 event=0xbc irq_info=0x1a5044
0010:trace:comm:get_modem_status 4004 ->
0010:trace:comm:check_events mask 0x00000001
0010:trace:comm:check_events old->rx          0x000003bb vs. new->rx
       0x000003bb
0010:trace:comm:check_events old->tx          0x000001d4 vs. new->tx
       0x000001d4
0010:trace:comm:check_events old->frame       0x00000000 vs.
new->frame       0x00000000
0010:trace:comm:check_events old->overrun     0x00000000 vs.
new->overrun     0x00000000
0010:trace:comm:check_events old->parity      0x00000000 vs.
new->parity      0x00000000
0010:trace:comm:check_events old->brk         0x00000004 vs. new->brk
       0x00000004
0010:trace:comm:check_events old->buf_overrun 0x00000000 vs.
new->buf_overrun 0x00000000


<snip>

Then, a bunch of these:

000f:trace:comm:io_control 0xa8 IOCTL_SERIAL_WAIT_ON_MASK (nil) 0
0x7de7fa14 4 0x7de7f9e4
000f:trace:comm:get_modem_status 4004 ->
000f:trace:comm:check_events mask 0x00000001
000f:trace:comm:check_events old->rx          0x000003bd vs. new->rx
       0x000003bd
000f:trace:comm:check_events old->tx          0x000001d6 vs. new->tx
       0x000001d6
000f:trace:comm:check_events old->frame       0x00000000 vs.
new->frame       0x00000000
000f:trace:comm:check_events old->overrun     0x00000000 vs.
new->overrun     0x00000000
000f:trace:comm:check_events old->parity      0x00000000 vs.
new->parity      0x00000000
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_PURGE 0x7e081918 4 (nil)
0 0x7e0818b4
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_PURGE 0x7e081918 4 (nil)
0 0x7e0818b4
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_GET_COMMSTATUS (nil) 0
0x7e0816a4 20 0x7e08163c
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_GET_COMMSTATUS (nil) 0
0x7e0816a4 20 0x7e08163c
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_GET_COMMSTATUS (nil) 0
0x7e0816a4 20 0x7e08163c
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_GET_COMMSTATUS (nil) 0
0x7e0816a4 20 0x7e08163c
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_GET_COMMSTATUS (nil) 0
0x7e0816a4 20 0x7e08163c
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_GET_COMMSTATUS (nil) 0
0x7e0816a4 20 0x7e08163c
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_GET_COMMSTATUS (nil) 0
0x7e0816a4 20 0x7e08163c
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_GET_COMMSTATUS (nil) 0
0x7e0816a4 20 0x7e08163c
000d:trace:comm:io_control 0xa8 IOCTL_SERIAL_GET_COMMSTATUS (nil) 0
0x7e0816a4 20 0x7e08163c


<snip>

More of these:

0011:trace:comm:get_modem_status 4004 ->
0011:trace:comm:check_events mask 0x00000001
0011:trace:comm:check_events old->rx          0x000003bd vs. new->rx
       0x000003be
0011:trace:comm:check_events old->tx          0x000001d6 vs. new->tx
       0x000001d8
0011:trace:comm:check_events old->frame       0x00000000 vs.
new->frame       0x00000000
0011:trace:comm:check_events old->overrun     0x00000000 vs.
new->overrun     0x00000000
0011:trace:comm:check_events old->parity      0x00000000 vs.
new->parity      0x00000000
0011:trace:comm:check_events old->brk         0x00000004 vs. new->brk
       0x00000004
0011:trace:comm:check_events old->buf_overrun 0x00000000 vs.
new->buf_overrun 0x00000000
0011:trace:comm:get_modem_status 4004 ->

And it continues repeating roughly that pattern.

Thanks,

Dan



More information about the wine-users mailing list