Mellvik / TLVC

Tiny Linux for Vintage Computers
Other
9 stars 0 forks source link

^O trace switch not working via telnet #22

Closed Mellvik closed 1 year ago

Mellvik commented 1 year ago

The new tracing tools (partly) imported from ELKS (thank you @ghaerr) expand the previous ^P keyboard toggle which enables/disables extensive debug output from the kernel (as selected in include/linuxmt/debug.h and now also in include/linuxmt/trace.h`): ^O now lists a snapshot of the L1/L2 buffer status on the system, ^N lists the active inodes.

These are extremely useful debugging tools, not the least because they may be used from any terminal or the physical console (virtual screens). Even via network logins (telnet) ^P and ^N work, but not ^O.

The reason is that ^O traditionally has a special significance in telnet as in Unix and Linux systems (not on TLVC - yet): Flush output. This is sometimes a real pain in the rear, and the best solution is to change the list buffer status command to an available control character.

In the meanwhile there is a more complicated quick fix: Most telnet clients accept something like the following local command:

telnet> set flushoutput ^W

or some other preferred character. The ^W is literal, enter the two characters as is. This will relieve ^O from its local duties and make it flow freely between the telnet client and target machine.

ghaerr commented 1 year ago

The control-char options were picked to be minimally coded, sequential control characters which also seemed to be not used by other programs.

Since these keystrokes are meant for debug only, I'm not sure if a change merits the business of sticking each/any of them into the termios struct with a new index for each (like VERASE2). Another fix is a compiled-in value, set perhaps in ntty.h. The option you're currently using, changing the value on the telnet side seems pretty good, and only requires documentation.

Mellvik commented 1 year ago

Agreed, this issue was categorized as 'documentation'.

I did recognize the smartness of the choices made, and don't intend to change that - but possibly switch the meaning of ^O and ^N.

the thing is, one of my systems is accessible only via a terminal server - telnet to serial box.