In
telecommunications
Telecommunication, often used in its plural form or abbreviated as telecom, is the transmission of information over a distance using electronic means, typically through cables, radio waves, or other communication technologies. These means of ...
, 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 ''remote''ly. Both are used together in a computed form of
error detection
In information theory and coding theory with applications in computer science and telecommunications, error detection and correction (EDAC) or error control are techniques that enable reliable delivery of digital data over unreliable communi ...
to ensure that data received at the remote destination of a telecommunication are the same as data sent from the local source (a/k/a echoplex, echo check, or loop check). When (two)
modem
The Democratic Movement (, ; MoDem ) is a centre to centre-right political party in France, whose main ideological trends are liberalism and Christian democracy, and that is characterised by a strong pro-Europeanist stance. MoDem was establis ...
s 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' (or any) telecommunications transmission protocol. Probably from technical ignorance, "half-duplex" and "full-duplex" are used as slang for 'local echo' (a/k/a echo on) and 'remote echo', respectively, as typically they accompany one another. Strictly incorrect, this causes confusion (see
duplex). Typically 'local echo' accompanies half-duplex transmission, which effectively doubles channel bandwidth by not repeating (echoing) data back from its destination (remote), as is reserved-for with 'full duplex' (which has only half of the bandwidth of 'half duplex'). Half-duplex can be set to 'echo off' for no echo at all.
One example of 'local echo' used together with 'remote echo' (requires full-duplex) is for error checking pairs of data characters or chunks (echoplex) ensuring their duplicity (or else its just an extraneous annoyance).
Similarly, for another example, in the case of the
TELNET
Telnet (sometimes stylized TELNET) is a client-server application protocol that provides access to virtual terminals of remote systems on local area networks or the Internet. It is a protocol for bidirectional 8-bit communications. Its main ...
communications protocol a local echo protocol 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 (by default) local echo.
Where echoing is done
Terminal
Terminal may refer to:
Computing Hardware
* Computer terminal, a set of primary input and output devices for a computer
* Terminal (electronics), a device for joining electrical circuits together
** Battery terminal, electrical contact used to ...
s 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 system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
s, it is the host system that performs the echoing, if appropriate (which it isn't for, say, entry of a user password when a terminal first connects and a user is prompted to log in). On
OpenVMS
OpenVMS, often referred to as just VMS, is a multi-user, multiprocessing and virtual memory-based operating system. It is designed to support time-sharing, batch processing, transaction processing and workstation applications. Customers using Op ...
, for example, echoing is performed as necessary by the host system. Similarly, on
Unix-like
A Unix-like (sometimes referred to as UN*X, *nix or *NIX) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Uni ...
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 an
ioctl()
system call. The actual terminals and modems connected to such systems should have ''their'' echo facilities switched off (so that they operate in ''no echo'' mode), lest passwords be locally echoed at password prompts, and all other input appear echoed twice. This is as true for
terminal emulator
A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term ''terminal'' covers all remote term ...
programs, such as
C-Kermit
Kermit is a computer file transfer and management Communication protocol, protocol and a set of communications software tools primarily used in the early years of personal computing in the 1980s. It provides a consistent approach to file transfe ...
, 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 (which sometimes they misname "half-duplex"):
* In the C-Kermit terminal emulator program, local echo is controlled by the
SET TERMINAL ECHO
command, which can be either
SET TERMINAL ECHO LOCAL
(which enables local echoing within the terminal emulator program itself) or
SET TERMINAL ECHO REMOTE
(where disables local echoing, leaving that up to another device in the communications channel—be that the modem or the remote host system—to perform as appropriate).
* In
ProComm
Datastorm Technologies, Inc., was a computer software company that existed from 1986 until 1996. Bruce Barkelew and Thomas Smith founded the company to develop and publish ProComm, a general-purpose communications program for personal computers. ...
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 (in command mode) are for off and for on. For local echo (in data mode), 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
The POSIX terminal interface is the generalized abstraction, comprising both an application programming interface for programs, and a set of behavioural expectations for users of a terminal, as defined by the POSIX standard and the Single Unix Spec ...
, settable programmatically with the
tcsetattr()
function. The echoing is performed by the operating system's terminal driver code (in some way that is not specified by the POSIX standard). The standard utility program that alters this flag programmatically is the
stty
command, using which the flag may be altered from
shell script
A shell script is a computer program designed to be run by a Unix shell, a command-line interpreter. The various dialects of shell scripts are considered to be command languages. Typical operations performed by shell scripts include file manipu ...
s or an interactive shell. The command to turn echo by the host system on is
stty echo
and the command to turn it off is
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
ECHO
characteristic, settable with the DCL command
SET TERMINAL /ECHO
and unsettable with
SET TERMINAL /NOECHO
.
Footnotes
References
What supports what
Sources used
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
{{refend
Error detection and correction
Modems
Data transmission