My serial port investigation continues. Here's the premise again...
I've got an embedded system that dumps chars and strings to a serial
port. I've attached a Slackware 7.1 Toshiba 430 CDT laptop to the other
end of the serial cable.  When the system streams a string of chars the
linux box doesn't get anything but if I send individual chars they are
received by the linux box.
When I send 'setserial -ga /dev/ttyS0' it tells me my UART is a 16550A.
If I change this to a 16550 everything works fine. I looked at
/etc/serial.conf and it is defining the port as a 16450. Who's really
controlling this and how do I get it set properly?
As a side problem:
This code doesn't print anything until a \n is received from the
sending unit:
...
char buf[255];
...
    while (STOP==FALSE) {       /* loop for input */
        res = read(fd,buf,1);   /* returns after 1 chars have been
input */
        printf("%c", buf);
        if (buf[0]=='z') STOP=TRUE;
    }
But this code does:
...
char buf[255];
...
    while (STOP==FALSE) {       /* loop for input */
        res = read(fd,buf,1);   /* returns after 1 chars have been
input */
        printf("%c\n", buf);
        if (buf[0]=='z') STOP=TRUE;
    }
Why would the addition of a \n fix the code. It appears to flush the
print buffer.
Thanks,
-John