Isn't the default setting of ECHO disabled? My understanding is the
ECHO is always /disabled /unless it is specifically /enabled /in the
TERMIOS settings.
No, it depends on isconsole:
https://github.com/apache/nuttx/blob/master/drivers/serial/serial.c#L1303-L1308
https://github.com/apache/nuttx/blob/master/drivers/serial/serial.c#L1821-L1840
https://github.com/apache/nuttx/blob/master/drivers/serial/serial.c#L339-L344
All terminal special handling(\r\n<->\n, ECHO CRTL+C) is activated if
isconsole equals true.
And all serial ports designed for shell set isconsole=true statically.
The first and last deal with CR-LF expansion as I mentioned. The second
is a little different. This is 1) enabling signal handling to support
Ctrl-C behavior and enabling CR-LF expansion. Oddly, it also enables
echo. Those, of course, never did anything in the past: CR-FL
expansion was controlled by the isonsole flag and t/*here was no
implementation of ECHO before 68384e9db42*/. So, yes, you are right
about some of that.