Echo (computing)
In telecommunications, echo is the local display of data, either initially as it is locally sourced and sent, or finally as a copy of it is received back from a remote destination. Local echo is where the local sending equipment displays the outgoing sent data. Remote echo is where the display is a return copy of data as received remotely. Both are used together in a computed form of error detection to ensure that data received at the remote destination of a telecommunication are the same as data sent from the local source. When modems communicate in echoplex mode the remote modem echoes whatever it receives from the local modem.
Terminological confusion: echo is not duplex
A displayed 'echo' is independent of 'duplex' telecommunications transmission protocol. Probably from technical ignorance, "half-duplex" and "full-duplex" are used as slang for 'local echo' and 'remote echo', respectively, as typically they accompany one another. Strictly incorrect, this causes confusion. Typically 'local echo' accompanies half-duplex transmission, which effectively doubles channel bandwidth by not repeating data back from its destination, as is reserved-for with 'full duplex'. Half-duplex can be set to 'echo off' for no echo at all.One example of 'local echo' used together with 'remote echo' is for error checking pairs of data characters or chunks ensuring their duplicity.
Similarly, for another example, in the case of the TELNET communications protocol local echo operates on top of a full-duplex underlying protocol. The TCP connection over which the TELNET protocol is layered provides a full-duplex connection, with no echo, across which data may be sent in either direction simultaneously. Whereas the Network Virtual Terminal that the TELNET protocol itself incorporates is a half-duplex device with local echo.
Where echoing is done
Terminals are one of the things that may perform echoing for a connection. Others include modems, some form of intervening communications processor, or the host system with which the terminal is communicating. For several common computer operating systems, it is the host system that performs the echoing, if appropriate. On OpenVMS, for example, echoing is performed as necessary by the host system. Similarly, on Unix-like systems, echo is performed by the operating system kernel's terminal device driver, according to the state of a device control flag, maintained in software and alterable by applications programs via anioctl() system call. The actual terminals and modems connected to such systems should have their echo facilities switched off, lest passwords be locally echoed at password prompts, and all other input appear echoed twice. This is as true for terminal emulator programs, such as C-Kermit, running on a computer as it is for real terminals.Controlling echo
Terminal emulators
Most terminal emulator programs have the ability to perform echo locally :- In the C-Kermit terminal emulator program, local echo is controlled by the
SET TERMINAL ECHOcommand, which can be eitherSET TERMINAL ECHO LOCALorSET TERMINAL ECHO REMOTE. - In ProComm it is the combination, which is a hot key that may be used at any time to toggle local echo on and off.
- In the Terminal program that came with Microsoft Windows 3.1, local echo is controlled by a checkbox in the "Terminal Preferences" dialogue box accessed from the menu of the terminal program's window.
Modems
The Hayes commands that control local echo are for off and for on. For local echo, the commands are and respectively. Note the reversal of the suffixed digits. Unlike the "" commands, the "" commands are not part of the EIA/TIA-602 standard.Host systems
Some host systems perform echo, in their device drivers and so forth.- In Unix and POSIX-compatible systems, echo is a flag in the POSIX terminal interface, settable programmatically with the
function. The echoing is performed by the operating system's terminal driver code. The standard utility program that alters this flag programmatically is thetcsetattr command, using which the flag may be altered from shell scripts or an interactive shell. The command to turn echo by the host system on isstty and the command to turn it off isstty echo .stty -echo - On OpenVMS systems, the operating system's terminal driver normally performs echoing. The terminal characteristic that controls whether it does this is the
ECHOcharacteristic, settable with the DCL commandSET TERMINAL /ECHOand unsettable withSET TERMINAL /NOECHO.