return SR_ERR;
}
- term.c_iflag &= ~(IXON | IXOFF);
+ term.c_iflag &= ~(IXON | IXOFF | IXANY);
term.c_cflag &= ~CRTSCTS;
switch (flowcontrol) {
case 0:
break;
case 2:
sr_spew("Configuring XON/XOFF flow control.");
- term.c_iflag |= IXON | IXOFF;
+ term.c_iflag |= (IXON | IXOFF | IXANY);
break;
default:
sr_err("Unsupported flow control setting %d.", flowcontrol);
/* Disable canonical mode, and don't echo input characters. */
term.c_lflag &= ~(ICANON | ECHO);
+ /* Ignore modem status lines; enable receiver */
+ term.c_cflag |= (CLOCAL | CREAD);
+
/* Write the configured settings. */
if (tcsetattr(serial->fd, TCSADRAIN, &term) < 0) {
sr_err("tcsetattr() error: %s.", strerror(errno));