I am writing a C program to interface with a Weather Station connected to /dev/ttyS2. I has the program working, to a point, with kernel 2.2.3 on slink. I was using the following post initialization:
void SetBaudCOM(int new_baud) { int baudrate; switch(new_baud) { case 0x00: baudrate = B9600; break; case 0x02: baudrate = B19200; break; case 0x04: baudrate = B57600; break; case 0x06: baudrate = B115200; break; default: } bzero(&newtio, sizeof(newtio)); newtio.c_cflag = baudrate | CS8 | CLOCAL | CREAD; newtio.c_iflag = IGNPAR; newtio.c_oflag = 0; newtio.c_lflag = 0; newtio.c_cc[VMIN] = 6; newtio.c_cc[VTIME] = 25; tcflush(fd, TCIFLUSH); tcsetattr(fd, TCSANOW, &newtio); return; } The VMIN & VTIME seemed wierd but the program was communicating with the Weather Station and reading all the sensors. I had left it while I was working out the user interface and decided to upgrade to kernel 2.2.5. After the upgrade the program no longer worked. I then went tru the process of finding out what required changing and finally got it working with the following items changed. BUT, it only works if I strace it. Running it without strace, it fails when reading in data from the WS. newtio.c_cflag &= ~CRTSCTS; newtio.c_iflag &= ~(IXON | IXOFF | IXANY); newtio.c_lflag &=~ICANON; newtio.c_lflag &= ~(ECHO | ECHOCTL | ECHONL); newtio.c_lflag |= HUPCL; newtio.c_cc[VMIN] = 0; newtio.c_cc[VTIME] = 25; cfsetispeed(&newtio,baudrate); cfsetospeed(&newtio,baudrate); I then put the source on a Hamm, Potato (not current) and a Slackeare dist, all on the same box. The program dosn't run on any of them, even with strace. They all fail whine trying to read in the data from the Weather Station. Question. Has termios changed form 2.0.35 to 2.2.3 -> 2.2.5? Slackware is running 2.2.3, hamm is on 2.0.36 and Potato 2.0.35. Hamm & Potato required changes due to ncurses changes. As this is my first attempt at a C program on Linux I would appreciate any pointers to what I 'must' be missing. I have the (ugh) Win95 and DOS versions running fine so I don't think there is a problem with ttyS2. Anny pointers would be appreciated. TIA Wayne -- Linux - for those that deserve the Very Best! _______________________________________________________ Wayne T. Topa <[EMAIL PROTECTED]>