nsh over usb works with readline/cle now. In face, isconsole in current implementation is more like a very tiny `line driver` inside the serial driver.
That is very interesting. The serial driver (drivers/usbdev/cdcacm.c). Does not include any of your change. It does not use serial.c . It has its own serial interface and its own TERMIOS implementation that does not use your changes.
So I would expect serial.c to be better behaved without the ECHO as well.