James Liggett wrote:
> This patch fixes an "Invalid Argument" error in GetCommState when a
> program tries to get information about a usbserial device. With this
> patch, Wine provides a "fake" serial device control block to a Windows
> program requesting it, such that the program believes that it's
> interfacing with an actual serial port, since usbserial devices don't
> currently acknowledge traditional DCBs via tcgetattr/tcsetattr. Using
> this patch I was able to synchronize a serial-based Palm PDA with Palm
> Desktop on Wine with a pl2303 USB-serial converter. I'm also told that
> this patch also works with FTDI devices.
Hi James,
I don't think this is quite right. The pl2303 is a standard USB-serial
converter, and it should have a selectable baud rate (according to the
Linux kernel's driver for it). It has a db-9 connector on one end, and
a usb connector on the other, right?
I'm also pretty sure that all serial ports are ttys in Linux, so your
if(isatty()) check will always succeed.
Have you tried writing a small test program that does GetCommState and
SetCommState on that serial device in Windows? If it fails to set the
baud rate perhaps there's an error code returned?
Mike