This screenshot illustrates both problems:
The first run shows problem 1: read returns 0. It shouldn’t do that in canonical mode…. right?
Problem number 2 is that when it DOES return something, it’s gibberish. I modified the program to display the number representation of the character being returned…
GNU Screen works – I can get a call and response using that without issue. It’s the my program, and it’s most likely how I’m setting up the serial port. Canonical mode is suppose to be easier to implement, and as a result there are mostly just examples of doing it in raw mode online.
If I can’t figure it out soon I’ll convert it to use raw mode.