755 lines
39 KiB
HTML
755 lines
39 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META NAME="GENERATOR" CONTENT="LinuxDoc-Tools 0.9.21">
|
|
<TITLE> Text-Terminal-HOWTO: Physical Connection </TITLE>
|
|
<LINK HREF="Text-Terminal-HOWTO-13.html" REL=next>
|
|
<LINK HREF="Text-Terminal-HOWTO-11.html" REL=previous>
|
|
<LINK HREF="Text-Terminal-HOWTO.html#toc12" REL=contents>
|
|
</HEAD>
|
|
<BODY>
|
|
<A HREF="Text-Terminal-HOWTO-13.html">Next</A>
|
|
<A HREF="Text-Terminal-HOWTO-11.html">Previous</A>
|
|
<A HREF="Text-Terminal-HOWTO.html#toc12">Contents</A>
|
|
<HR>
|
|
<H2><A NAME="cable"></A> <A NAME="s12">12.</A> <A HREF="Text-Terminal-HOWTO.html#toc12">Physical Connection </A></H2>
|
|
|
|
<H2><A NAME="ss12.1">12.1</A> <A HREF="Text-Terminal-HOWTO.html#toc12.1">Introduction</A>
|
|
</H2>
|
|
|
|
<P> A terminal may be connected to its host computer either by a
|
|
direct cable connection, via a modem, or via a terminal server. The
|
|
flow of data may be either a direct sequence of bytes (such as from a
|
|
serial port) or packets on a network (such as TCP/IP).</P>
|
|
|
|
<H2><A NAME="ss12.2">12.2</A> <A HREF="Text-Terminal-HOWTO.html#toc12.2">Multiport I/O Cards (Adapters)</A>
|
|
</H2>
|
|
|
|
<P> Additional serial cards may be purchased which have many serial
|
|
ports on them called "multiport boards". These boards are not covered
|
|
in this HOWTO but there is a list of some of them (with URLs) in the
|
|
Serial-HOWTO.</P>
|
|
|
|
<H2><A NAME="ss12.3">12.3</A> <A HREF="Text-Terminal-HOWTO.html#toc12.3">Direct Serial Cable Connection.</A>
|
|
</H2>
|
|
|
|
<P> The simplest way to connect a terminal to a host computer is via a
|
|
direct connection to a serial port on the computer. You may also use
|
|
some the info in this section for connecting one computer to another
|
|
(via the serial port). Most desktop PC's come with a serial port or
|
|
two, one of which may be used by a mouse. For the EIA-232 port, you
|
|
need a null modem cable (PC-to-PC cable) that crosses over the
|
|
transmit and receive wires. In ethernet terminology it would be
|
|
called a "crossover cable" (but the ethernet cable will not work for
|
|
the serial port). If you want hardware flow control, you will
|
|
probably use the DTR pin (or both the DTR and DSR pins).</P>
|
|
<P>Make sure you have the right kind of cable. A null modem cable
|
|
bought at a computer store may do it (if it's long enough), but it
|
|
probably will not work for hardware flow control. Such a cable may be
|
|
labeled as a serial printer cable. Only larger computer stores are
|
|
likely to stock such cables. A "modem cable" will not work since the
|
|
wires go straight thru (and don't cross over). See
|
|
<A HREF="#buy_or_make_cable">Buy or Make</A> your own cable. Make sure
|
|
you are connecting to your PC's serial port at the male DB25 or the
|
|
DB9, and not to your parallel port (female DB25).</P>
|
|
|
|
<H3>Pin numbering</H3>
|
|
|
|
<P>Pin numbers are often printed on the plastic right next to the
|
|
pins. You may need a bright light and/or a magnifying glass to read
|
|
them. Looking at the male pins of a DB connector with the wider row
|
|
up, the pin in the upper left is 1 (there is no pin 0). Then the next
|
|
pin in this row is 2, etc. At the end of this row is pin 5 or 13.
|
|
Then the next pin (6 or 14) is in the next row all the way to the left
|
|
and below pin 1. If you look at the female connector with the wider
|
|
row up, then pin 1 is in the upper right corner.</P>
|
|
|
|
<H3>Null Modem cable pin-out (3, 4, or 5 conductor)</H3>
|
|
|
|
<P> These 3 diagrams are for real text-terminals. But you could use
|
|
them to connect up 2 PCs if you substitute RTS for DTR and CTS for
|
|
DSR. (Don't use 4-conductors for PC-to-PC). For terminals, if you
|
|
only have DTR flow control (one-way) you may eliminate the RTS-to-DSR
|
|
wire. If you have no hardware flow control, then you may also
|
|
eliminate the CTS-to-DTR wire. Then if you have 2@ twisted pairs, you
|
|
may then use 2 wires for signal ground per
|
|
<A HREF="#twist_pair_kludge">A Kludge using Twisted-Pair Cable</A>. For a DB25 connector on
|
|
your PC, you need:</P>
|
|
<P>
|
|
<BLOCKQUOTE><CODE>
|
|
<PRE>
|
|
PC male DB25 Terminal DB25
|
|
TxD Transmit Data 2 --> 3 RxD Receive Data
|
|
RxD Receive Data 3 <-- 2 TxD Transmit Data
|
|
SG Signal Ground 7 --- 7 SG Signal Ground
|
|
CTS Clear To Send 5 <--20 DTR Data Terminal Ready
|
|
RTS Request To Send 4 --> 6 DSR Data Set Ready
|
|
</PRE>
|
|
</CODE></BLOCKQUOTE>
|
|
</P>
|
|
<P>If you have a DB9 connector on your PC, try the following:
|
|
<BLOCKQUOTE><CODE>
|
|
<PRE>
|
|
PC DB9 Terminal DB25
|
|
RxD Receive Data 2 <-- 2 TxD Transmit Data
|
|
TxD Transmit Data 3 --> 3 RxD Receive Data
|
|
SG Signal Ground 5 --- 7 SG Signal Ground
|
|
CTS Clear To Send 8 <--20 DTR Data Terminal Ready
|
|
RTS Request To Send 7 --> 6 DSR Data Set Ready **
|
|
</PRE>
|
|
</CODE></BLOCKQUOTE>
|
|
</P>
|
|
<P>If you have a DB9 connector on both your serial port and terminal:
|
|
<BLOCKQUOTE><CODE>
|
|
<PRE>
|
|
PC DB9 Terminal DB9
|
|
RxD Receive Data 2 <-- 3 TxD Transmit Data
|
|
TxD Transmit Data 3 --> 2 RxD Receive Data
|
|
SG Signal Ground 5 --- 5 SG Signal Ground
|
|
CTS Clear To Send 8 <-- 4 DTR Data Terminal Ready
|
|
RTS Request To Send 7 --> 6 DSR Data Set Ready **
|
|
</PRE>
|
|
</CODE></BLOCKQUOTE>
|
|
</P>
|
|
<P>The above don't have modem control lines so be sure to give a "local"
|
|
option to getty (which is equivalent to "stty clocal"). Also if you
|
|
need hardware flow control it must be enabled at your computer (use a
|
|
-h flag with agetty) ( equivalent to "stty crtscts" ).</P>
|
|
|
|
<H3><A NAME="null_modem_pinout"></A> Standard Null Modem cable pin-out (7 conductor)</H3>
|
|
|
|
<P> The following 3 diagrams show full "standard" null modem cables.
|
|
One that you purchase may be wired this way. Another pinout is for 20
|
|
and 6 to cross over and to have 8 cross over to both 4 and 5. This
|
|
will not provide hardware flow control (RTS/CTS) for directly
|
|
connected computers. Both of the above will work for terminals using
|
|
software (Xon/Xoff) flow control (or no flow control). None of these
|
|
cables will work for terminal hardware flow control since most real
|
|
terminals support DTR or DTR/DSR flow control (handshaking) but Linux
|
|
doesn't yet (2000).</P>
|
|
<P>
|
|
<BLOCKQUOTE><CODE>
|
|
<PRE>
|
|
PC male DB25 Terminal DB25
|
|
DSR Data Set Ready 6 <--|
|
|
DCD Carrier Detect 8 <--|- 20 DTR Data Terminal Ready
|
|
TxD Transmit Data 2 ----> 3 RxD Receive Data
|
|
RxD Receive Data 3 <---- 2 TxD Transmit Data
|
|
RTS Request To Send 4 ----> 5 CTS Clear To Send
|
|
CTS Clear To Send 5 <---- 4 RTS Request To Send
|
|
SG Signal Ground 7 ----- 7 SG Signal Ground
|
|
DTR Data Terminal Ready 20 -|--> 8 DCD Carrier Detect
|
|
|--> 6 DSR Data Set Ready
|
|
|
|
</PRE>
|
|
</CODE></BLOCKQUOTE>
|
|
|
|
<A NAME="DB_pin-out"></A>
|
|
Alternatively, a full DB9-DB25 file-transfer (null-modem) cable (will
|
|
not work with terminal hardware handshaking; see above):</P>
|
|
<P>
|
|
<BLOCKQUOTE><CODE>
|
|
<PRE>
|
|
PC DB9 Terminal DB25
|
|
RxD Receive Data 2 <---- 2 TxD Transmit Data
|
|
TxD Transmit Data 3 ----> 3 RxD Receive Data
|
|
|--> 6 DSR Data Set Ready
|
|
DTR Data Terminal Ready 4 -|--> 8 DCD Carrier Detect
|
|
SG Signal Ground 5 ----- 7 SG Signal Ground
|
|
DCD Carrier Detect 1 <--|
|
|
DSR Data Set Ready 6 <--|- 20 DTR Data Terminal Ready
|
|
RTS Request To Send 7 ----> 5 CTS Clear To Send
|
|
CTS Clear To Send 8 <---- 4 RTS Request To Send
|
|
RI Ring Indicator 9 (not needed)
|
|
</PRE>
|
|
</CODE></BLOCKQUOTE>
|
|
|
|
(Yes, the pins 2 and 3 really do have opposite meanings for DB9 and
|
|
DB25 connectors!)</P>
|
|
<P>Here's how to connect two DB9's together (but DTR flow control will
|
|
not work):
|
|
<BLOCKQUOTE><CODE>
|
|
<PRE>
|
|
PC DB9 DB9
|
|
RxD Receive Data 2 <----- 3 TxD Transmit Data
|
|
TxD Transmit Data 3 -----> 2 RxD Receive Data
|
|
|--> 6 DSR Data Set Ready
|
|
DTR Data Terminal Ready 4 --|--> 1 DCD Carrier Detect
|
|
GND Signal Ground 5 ------ 5 GND Signal Ground
|
|
DCD Carrier Detect 1 <--|
|
|
DSR Data Set Ready 6 <--|-- 4 DTR Data Terminal Ready
|
|
RTS Request To Send 7 -----> 8 CTS Clear To Send
|
|
CTS Clear To Send 8 <----- 7 RTS Request To Send
|
|
RI Ring Indicator 9 (not used)
|
|
</PRE>
|
|
</CODE></BLOCKQUOTE>
|
|
</P>
|
|
<P>Using the above 2 connections provide full modem control signals and
|
|
seemingly allow one to set "stty -clocal". Then one must turn on the
|
|
terminal first (asserts DTR) before the port may be opened in a normal
|
|
manner by getty, etc. But there is likely to be trouble if you fail
|
|
to turn on the terminal first (see
|
|
<A HREF="Text-Terminal-HOWTO-19.html#rapid_respawn">Getty Respawning Too Rapidly</A>). For this reason one should use "stty
|
|
clocal" which is the default (ignores modem control lines) and the
|
|
additional wires in these cables then serve no useful purpose.</P>
|
|
<P>In olden days when it may not have been this easy to ignore modem
|
|
control signals etc, the following "trick" was done for cables that
|
|
lacked conductors for modem control: on your computer side
|
|
of the connector, connect RTS and CTS together, and also connect DSR,
|
|
DCD and DTR together. This way, when the computer needs a certain
|
|
handshaking signal to proceed, it will get it (falsely) from itself.</P>
|
|
|
|
<H3><A NAME="length_"></A> Overcoming length limitations </H3>
|
|
|
|
<P> A cable longer than a 50 feet or so may not work properly at high
|
|
speed. Much longer lengths sometimes work OK, especially if the speed
|
|
is low and/or the cable is a special low-capacitance type and/or the
|
|
electronics of the receiving end are extra sensitive. It is claimed
|
|
that under ideal conditions at 9600 baud, 1000 feet works OK. One way
|
|
to cover long distances is to install 2@ line drivers near each serial
|
|
port so as to convert unbalanced to balanced (and conversely) and then
|
|
use twisted pair cabling. But line drivers are expensive.</P>
|
|
<P>Another way to increase the distance is to try to cancel out much of
|
|
the magnetic field created by the currents in the transmit and receive
|
|
data wires: TxD and RxD. To do this, ground return lines, which have
|
|
current which is roughly equal (but in the opposite direction) are
|
|
placed next to the transmit and received wires. Twisted pair has
|
|
the best cancellation. Some DEC terminals have two signal ground
|
|
wires for this purpose. For example, one pair would be TxD and
|
|
SG(TxD) where SG is signal ground. If you use ribbon cable, insure
|
|
that the TxD and SG(TxD) wires are right next to each other.
|
|
Similarly for the RxD.</P>
|
|
<P>If there is only one signal ground wire provided by both the PC and
|
|
the terminal, it may be split into two wires in a twisted pair cable
|
|
for this purpose. You might think that return currents will be
|
|
equally split between the two signal ground wires. This would cancel
|
|
out only about half of the magnetic field. But it's better
|
|
cancellation than this because return current prefers the path of
|
|
least impedance. The return path of a data signal (such as TxD) has
|
|
the lowest impedance (due to lower inductance) if it flows back in the
|
|
same twisted pair. Although I've haven't seen any experimental test
|
|
results for this method, it should allow longer cable lengths.</P>
|
|
|
|
<H3>Hardware Flow Control cables</H3>
|
|
|
|
<P> If you expect to use hardware flow control (handshaking) you will
|
|
likely need to make up your own cable (or order one made). Of course,
|
|
if the connecters on the ends of a used cable remove, you might rewire
|
|
it. See
|
|
<A HREF="#db_conn_install">Installing DB Connectors</A>.
|
|
You will need to determine whether or not the terminal uses the
|
|
DTR pin for this, and if not, what pin (or pins) it uses. The set-up
|
|
menus may give you a clue on this since there may be an option for
|
|
enabling "DTR handshaking" (or flow control) which of course implies
|
|
that it uses the DTR pin. It may also use the DSR pin. See
|
|
<A HREF="Text-Terminal-HOWTO-11.html#hdw_flow_control">Hardware Flow Control</A> for a detailed
|
|
explanation of it. Older terminals may have no provision for hardware
|
|
flow control.</P>
|
|
|
|
<H3>Cable tips</H3>
|
|
|
|
<P> The normal "straight thru" cable will not work unless you are
|
|
using it as an extension cable in conjunction with either a null modem
|
|
(crossover or file-transfer) cable or a null modem adapter. Make sure
|
|
that the connectors on the cable ends will mate with the connectors on
|
|
the hardware. One may use telephone cable which is at least
|
|
4-conductor (and possibly twisted pair). Shielded, special
|
|
low-capacitance cable computer cable is best.</P>
|
|
|
|
<H3><A NAME="twist_pair_kludge"></A> A kludge using twisted-pair cable </H3>
|
|
|
|
<P> See also
|
|
<A HREF="#length_">Overcoming Length Limitations</A>.
|
|
Although none of the EIA-232 signals are balanced for twisted pair
|
|
one may attempt to use twisted-pair cable with it. Use one pair for
|
|
transmit and another for receive. To do this connect signal ground to
|
|
one wire in each of these 2 pair. Only part of the signal ground
|
|
current flows in the desired wire but it may help. Due to the lower
|
|
inductance of the twisted pair circuit (as compared to ground return
|
|
current by some other path) more return (ground) current will confine
|
|
itself to the desired twisted pair than one would expect from only
|
|
resistance calculations. This is especially true at higher
|
|
frequencies since inductive impedance increases with frequency. The
|
|
rectangular wave of the serial port contains high frequency harmonics.</P>
|
|
|
|
<H3>Cable grounding</H3>
|
|
|
|
<P> Pin 1 (of a DB25) should be chassis ground (also earth ground) but
|
|
on cheap serial ports it may not even be connected to anything. A
|
|
9-pin connector doesn't even have a chassis ground. The signal ground
|
|
is pin 7 and is usually grounded to chassis ground. This means that
|
|
part of the signal current will flow thru the ground wires of the
|
|
building wiring (undesirable). Cable shields are supposed to be only
|
|
grounded at one end of the cable, but it may be better to ground both
|
|
ends since it's better to have current in the shield than in the
|
|
building wiring ??</P>
|
|
|
|
<H2><A NAME="ss12.4">12.4</A> <A HREF="Text-Terminal-HOWTO.html#toc12.4">Modem Connection</A>
|
|
</H2>
|
|
|
|
<P> By using a terminal-modem combination (without a computer) one may
|
|
dial out to other computers. Up to the mid 1990s in the US, there
|
|
were many "bulletin boards" one could dial out to. Some even provided
|
|
connections to the Internet. But bulletin boards lost out in favor of
|
|
the Internet.</P>
|
|
|
|
<H3>Dialing out from a terminal</H3>
|
|
|
|
<P> Instead of connecting a terminal (or computer emulating a
|
|
terminal) directly to a host computer using a cable it may be
|
|
connected to the host via a telephone line (or dedicated private line)
|
|
with a modem at each end of the line. The terminal (or computer) will
|
|
usually dial out on a phone line to a host computer.</P>
|
|
<P>Most people use a PC and modem for dialing out. The PC could have a
|
|
terminal connected to a serial port and the person at the terminal
|
|
may dial out using the PC. Connecting a real terminal directly to an
|
|
external modem is more difficult since the real terminal isn't very
|
|
intelligent and doesn't give as much feedback to the user. For
|
|
dialing out, many terminals can store one or more telephone numbers as
|
|
messages which may be "set-up" into them and are sent out to the modem
|
|
by pressing certain function keys. Many modems can also store phone
|
|
numbers. The modem initiation sequence must precede the telephone
|
|
number. When the outgoing call is answered by another modem at the
|
|
other end of the phone line, the host computer on this modem may
|
|
run a getty program to enable you to log in.</P>
|
|
|
|
<H3>Terminal gets dialed into</H3>
|
|
|
|
<P> It's common for a computer running Linux to get dialed into. The
|
|
caller gets a login prompt and logs in. At first glance, it may seem
|
|
strange how a dumb terminal (not connected to any computer) could
|
|
accept an incoming call, but it can. One possible reason for doing
|
|
this is to save on phone bills where rates are not symmetric. Your
|
|
terminal needs to be set up for dial-in: Set the modem at your
|
|
terminal for automatic answer (Register S0 set to 2 will answer on the
|
|
2nd ring). You turn on the terminal and modem before you expect a
|
|
call and when the call comes in you get a login prompt and log in.</P>
|
|
<P>The host computer that dials out to your terminal needs to do
|
|
something quite unusual. As soon as your modem answers, it needs to
|
|
run login (getty). A host may do this by running the Linux program
|
|
"callback" sometimes named "cb". Callback is for having computer A
|
|
call computer B, and then B hangs up and calls A back. This is what
|
|
you want if you are using computer A to emulate a terminal. For the
|
|
case of a real terminal this may be too complex a task so the host may
|
|
utilize only the "back" part of the callback program. The setup file
|
|
for callback must be properly configured at the host. Callback makes
|
|
the call to the terminal and then has mgetty run a login on that port.
|
|
Mgetty by itself (as of early 1998) is only for dial-in calls but
|
|
there is work being done to incorporate callback features into it and
|
|
thus make it able to dial-out. As of early 1999 it didn't seem to have
|
|
been done.</P>
|
|
|
|
<H2><A NAME="ss12.5">12.5</A> <A HREF="Text-Terminal-HOWTO.html#toc12.5">Telnet and ssh</A>
|
|
</H2>
|
|
|
|
<P>Telnet is a program which lets a text terminal (or a PC console)
|
|
connect to a host computer over a network. No serial ports are used
|
|
for the telnet connection. Of course if you are sitting at a real
|
|
text terminal there is a serial connection to your own host. But when
|
|
you run telnet, your host connects to another host via serial-less
|
|
telnet.</P>
|
|
<P>Telnet uses tcp/ip packets over various networks: the Internet, LANs,
|
|
etc. You run telnet (as a client) and it connects to a telnet server
|
|
on another computer on a network. Then you get a login prompt and log
|
|
in just as if you were directly connected via a cable to a serial
|
|
port.</P>
|
|
<P>Ssh is "Secure Shell" and is like telnet. At one time it was much
|
|
more secure than the conventional telnet which sent passwords in the
|
|
clear (no encoding). But now (2006) there are packages "telnet-ssl"
|
|
which offer secure telnet. But since telnet was slow in introducing
|
|
security, ssh may have become more popular.</P>
|
|
<P>Telnet may put each character you type inside a packet and naturally
|
|
there's a lot of overhead with this. But there's an option for sending
|
|
one line at a time. To use telnet as a client, you need to have an
|
|
account on another computer on that runs a telnet server. Then you
|
|
give the telnet command and specify the address of the computer that
|
|
will accept a connection from you.</P>
|
|
<P>What kind of terminal does telnet emulate? It doesn't. Instead, it
|
|
connects you to a remote computer using whatever kind of terminal you
|
|
are currently using. If you're on a Linux console, it's a terminal of
|
|
type Linux. The remote computer needs to somehow find out what type
|
|
of terminal you're on so it can send the correct escape sequences.</P>
|
|
<P>So using telnet is much like connecting up a dumb terminal to a serial
|
|
port except that instead of a cable between you and the computer,
|
|
there is a stream of packets flowing over the Internet between you and
|
|
some distant computer.</P>
|
|
|
|
<H2><A NAME="ss12.6">12.6</A> <A HREF="Text-Terminal-HOWTO.html#toc12.6">Terminal Server Connection</A>
|
|
</H2>
|
|
|
|
<H3>What is a terminal server ?</H3>
|
|
|
|
<P> A terminal server is something that serves to connect a bunch of
|
|
terminals to a host computer(s) via a network. Today this server is
|
|
often located nearby or inside the host computer. If you directly
|
|
connect some terminals to a PC or connect them via dial-up modems thru
|
|
serial ports at each end, you don't need a terminal server.</P>
|
|
<P>But if the terminals are connected to the host over a network, then
|
|
you may need a terminal server to make the serial-to-network
|
|
conversions. This is useful for devices such as printers and
|
|
terminals that have no built-in network support. However the
|
|
definition of "terminal server" has broadened to the case where all
|
|
data flows entirely over a network (except of course within the
|
|
computer itself) and where no serial ports are involved. The term
|
|
"terminal" may include a thin client type terminal with a GUI. The
|
|
network usually uses tcp/ip and/or ppp but other protocols (including
|
|
protocol conversion) are sometimes supported.</P>
|
|
<P>One way to connect a "terminal" (your PC console) to a network is to
|
|
run telnet on your PC (assuming your PC has a network connection). At
|
|
one time, terminal servers were dedicated hardware which could be used
|
|
only as terminal servers. Today a PC can simultaneously serve as a
|
|
terminal server, thereby serving many terminals.</P>
|
|
<P>Today, most terminal servers serve thin client terminals rather than
|
|
text-terminals. The "Linux Terminal Server Project" is an example.
|
|
But it can also serve text terminals using telnet. Such a text-terminal
|
|
is likely to be just a PC monitor emulating a terminal of type
|
|
"Linux". The terminal server is just software running on the host
|
|
computer. Telnet server software is like a simple terminal server.</P>
|
|
<P>A host that only has directly connected terminals (or modem
|
|
connections without tcp/ip or ppp) is sometimes called a "terminal
|
|
server". Although it's doing the same job as a real terminal server,
|
|
it strictly speaking is not a terminal server. </P>
|
|
|
|
<H3>Evolution of the "terminal server"</H3>
|
|
|
|
<P>Originally a terminal server served real text-terminals via the
|
|
serial port. A server for real text-terminals would have a number of
|
|
serial ports. The user would log in to the server and then get
|
|
connected via tcp/ip, etc. to a host computer where s/he would login a
|
|
second time again. Sometimes the first login would be automatic, or
|
|
perhaps there would be a choice given the user as to what host
|
|
computer (or printer) to connect to (or what protocol to use).</P>
|
|
<P>The use of real text-terminals declined as the PC replaced mainframes.
|
|
But the PC could emulate a terminal (using say minicom (Linux) or
|
|
(hyper)terminal for MS). One could could then dial-out via a modem
|
|
to a bulletin-board or the like. There would be a bank of modems to
|
|
accept such calls and each modem would be connected to a serial port.
|
|
The serial port could either be on a multiport card or on a dedicated
|
|
terminal server. Note that in both the above cases there is no client
|
|
software. It's not a client-server model.</P>
|
|
<P>When the Internet became popular, one would run the PPP protocol on
|
|
the phone line and still go thru a modem and "terminal server" at the
|
|
ISP. This server would handle PPP and ultimately connect one to the
|
|
Internet. But the PC was no longer emulating a text terminal since
|
|
browser images were being displayed. Today with ISPs getting only
|
|
digital signals from the phone company, they don't need real modems
|
|
anymore. So what was once a "terminal server" evolved into a "remote
|
|
access server". It's infrequently been called a "digital terminal
|
|
server". Note that 56k modem service requires that an ISP have a
|
|
digital connection to the phone company.</P>
|
|
<P>With remote access servers, instead of many individual telephone line
|
|
cables connected to a terminal server, one now finds just a few cables
|
|
with many digitized telephone calls on each cable (multiplexed). The
|
|
multitude of connectors needed for large numbers of terminals or
|
|
modems is no longer present on a remote access server and thus the
|
|
successor to this type of terminal server can't readily serve
|
|
text-terminals anymore.</P>
|
|
<P>More recently with the advent of thin clients terminals, the term
|
|
"terminal server" was revived to apply to the hosts that served the
|
|
thin clients. Both MS Windows and Linux can serve thin clients.</P>
|
|
|
|
<H2><A NAME="ss12.7">12.7</A> <A HREF="Text-Terminal-HOWTO.html#toc12.7">Connector and Adapter Types</A>
|
|
</H2>
|
|
|
|
<P> A connector is more-or-less permanently attached to the end of a
|
|
cable or to a hardware unit. There are two basic types of connectors
|
|
used in serial communications: 1. DB types with pins (DB 9 or DB25) and 2.
|
|
modular telephone-style connectors.</P>
|
|
<P>An adapter looks about like a connector but it has two ends with pins.
|
|
It is just like a cable that is so short that there is no cable part
|
|
left at all --just different connectors on each end is all that
|
|
remains. The adapter just plugs in to two other connectors on each side
|
|
of it. It allows two incompatible connectors to mate with each other
|
|
by going in between them. Except that even for two connectors that
|
|
will mate with each other, an adapter may be used to connect the cable
|
|
conductors together in other than straight-thru. Obviously, one may
|
|
use a special cable (perhaps homemade) as a substitute for an adapter.</P>
|
|
|
|
<H3>Sex of connector/adapters</H3>
|
|
|
|
<P> Connectors (or one side of adapters) are either male or female.
|
|
The connectors that have pins are male and the ones that have sockets
|
|
(sometimes also called pins) are female. For modular connectors, the
|
|
ones with exposed contacts are plugs while the ones with internal
|
|
contacts (not easy to see) are jacks. Plugs are male; jacks are
|
|
female.</P>
|
|
|
|
<H3>Types of adapters</H3>
|
|
|
|
<P> There are three basic types of adapters: null modem, gender
|
|
changers and port adapters. Some adapters perform more than one of
|
|
these three functions.
|
|
<UL>
|
|
<LI> null modem adapter: Reroutes wires, like a null modem cable.</LI>
|
|
<LI> gender changer: Changes the sex of a cable end. Two connectors
|
|
of the same sex can now connect (mate) with each other.</LI>
|
|
<LI> port adapter: Goes from one type of connector to another (DB9
|
|
to DB 25, etc.)</LI>
|
|
</UL>
|
|
</P>
|
|
|
|
<H3><A NAME="db_conn"></A> DB connectors </H3>
|
|
|
|
<P> (For how to install a DB connector on the ends of a cable see
|
|
<A HREF="#db_conn_install">Installing DB Connectors</A>.) These come in
|
|
9 or 25 pins. The EIA-232 specs. call for 25 pins but since most of
|
|
these pins are not used on ordinary serial ports, 9 pins is
|
|
sufficient. See
|
|
<A HREF="#DB_pin-out">DB9-DB25</A> for the pin-out.
|
|
The pins are usually numbered if you look closely enough or use a
|
|
magnifying glass.</P>
|
|
|
|
<H3><A NAME="rj_conn"></A> RJ modular connectors </H3>
|
|
|
|
<P> RJ means Registered Jack. These look like modern telephone
|
|
connectors but are sometimes not compatible with telephone connectors.
|
|
See also
|
|
<A HREF="#rj_conn_install">Installing RJ Connectors</A>.
|
|
For use with serial ports they may be 6 or 8 conductor. A few are
|
|
10-conductor but may not officially belong to the RJ series.</P>
|
|
|
|
<H3>6-conductors: RJ11/14, RJ12, and MMJ</H3>
|
|
|
|
<P> RJ11 are all the same size but may have 2, 4, or 6 conductors.
|
|
If it has two conductors, it should be called a RJ11. If it has 4
|
|
conductors, some call it a RJ14. If it has 6 conductors, many call it
|
|
a RJ12 (but a RJ12 per the phone company has only 4 conductors).
|
|
Seems confusing but they are all the same size and differ mainly by
|
|
the number of conductor contacts present.</P>
|
|
<P>A look-alike (almost) is a MMJ connector (6-conductor) used on later
|
|
model VT (and other) terminals. It's sometimes referred to as a
|
|
DEC-423 or a DEC RJ11. MMJ has an offset tab and is not compatible
|
|
with RJ ones (unless the tab is cut off). However, some connectors
|
|
have been made that are compatible with both MMJ and the RJ ones.
|
|
Since MMJ connectors are both hard to find and may be expensive some
|
|
people have forced a RJ (6 conductor) to fit MMJ by filing off the
|
|
offset tab with a file.</P>
|
|
<P>The MMJ (DEC) pinout is: 1-DTR, 2-TxD, 3-TxD_Gnd, 4-RxD_Gnd, 5-RxD,
|
|
6-DSR. Cyclades Cyclom-8Ys RJ12 has: 1-DTR, 2-TxD, 3-Gnd, 4-CTS,
|
|
5-RxD, 6-DCD. Specialix IO8+ has: 1-DCD, 2-RxD, 3-DTR/RTS, 4-Gnd,
|
|
5-TxD, 6-CTS. The pins of the RJ (and MMJ) are numbered similar to
|
|
the RJ45.</P>
|
|
<P>
|
|
<BLOCKQUOTE><CODE>
|
|
<PRE>
|
|
Plug Jack (or socket)
|
|
(Looking at the end (Looking at the cavity
|
|
end of a cable) in a wall or PC back)
|
|
.________. .________.
|
|
| 654321 | | 123456 |
|
|
|__. .__| |__. .__|
|
|
|__| |__|
|
|
</PRE>
|
|
</CODE></BLOCKQUOTE>
|
|
</P>
|
|
<P>A standard MMJ file-transfer (null-modem) cable has a MMJ connector at
|
|
each end. It connects to the PC using a MMJ-to-DB adapter. This
|
|
adapter plugs into a DB (say 25 pin) connector on the back of the PC
|
|
and the MMJ connecter plugs into it. If you don't have such an
|
|
adapter, you can make a custom cable with a MMJ (or filed RJ)
|
|
connector on one end and a DB connector on the other end.</P>
|
|
<P>The standard file-transfer (null-modem) cable with two MMJ (or
|
|
RJ11/14) connectors will connect: 1-6, 2-5, and 3-4. Note that such a
|
|
cable supports DTR/DSR flow control which is not supported (yet) by
|
|
Linux. Making up your own standard 6-conductor file-transfer cable is
|
|
very simple if you understand that the ordinary 4-conductor telephone
|
|
cable from the wall to your telephone, used in hundreds of millions of
|
|
homes, is also a file-transfer cable. Find one and wire your cable the
|
|
same way.</P>
|
|
<P>If you lay such a cable flat on the floor (with no twists) you will
|
|
note that both plugs on the ends have their gold contacts facing up
|
|
(or both facing down). Although it's symmetrical, it is also
|
|
file-transfer if you think about it a bit. One may put a few such
|
|
cables together with inline couplers and everything works OK because
|
|
each inline coupler is also a file-transfer (null-modem) adapter. Two
|
|
file-transfer cables in series result in a straight-thru connection.</P>
|
|
<P>Here's a custom cable diagram (by Mark Gleaves) for connecting MMJ to
|
|
a 9-pin serial port using RTS/CTS flow control:
|
|
<BLOCKQUOTE><CODE>
|
|
<PRE>
|
|
DEC MMJ Linux PC DB9
|
|
Pin Signal Signal Pin
|
|
=== ====== ====== ===
|
|
1 DTR -----------------------|---> DSR 6
|
|
|---> CTS 8
|
|
2 TxD ---------------------------> RxD 2
|
|
3 SG (TxD)--------------------|--- SG 5
|
|
4 SG (RxD)--------------------|
|
|
5 RxD <--------------------------- TxD 3
|
|
6 DSR <-----------------------|--- RTS 7
|
|
|--> DTR 4
|
|
|--> CD 1
|
|
(no connection) RI 9
|
|
</PRE>
|
|
</CODE></BLOCKQUOTE>
|
|
</P>
|
|
<H3>8-conductors and 10-conductors</H3>
|
|
|
|
<P> RJ45 and RJ48 are 8-conductor modular telephone plugs.
|
|
There exists some 10-conductor connectors which are allegedly wider
|
|
and will not mate with the 8-conductor ones. People have called the
|
|
10-conductor ones RJ45 and/or RJ48 but this may be incorrect. These
|
|
connectors are used for both flat telephone cable and round twisted
|
|
pair cable. The cable end of the connector may be different for round
|
|
and flat cable. RJ48 has an extra tab so that a RJ48 plug will not
|
|
push into a RJ45 jack (but a RJ45 plug will mate with a RJ48 jack).
|
|
They're used on some multiport serial cards and networks. Heres the
|
|
pin numbers for an 8-conductor:</P>
|
|
<P>
|
|
<BLOCKQUOTE><CODE>
|
|
<PRE>
|
|
Plug Jack (or socket)
|
|
(Looking at the end (Looking at the cavity
|
|
end of a cable) in a wall)
|
|
.__________. .__________.
|
|
| 87654321 | | 12345678 |
|
|
|__. .__| |__. .__|
|
|
|____| |____|
|
|
</PRE>
|
|
</CODE></BLOCKQUOTE>
|
|
</P>
|
|
|
|
<H2><A NAME="ss12.8">12.8</A> <A HREF="Text-Terminal-HOWTO.html#toc12.8">Making or Modifying a Cable</A>
|
|
</H2>
|
|
|
|
<H3><A NAME="buy_or_make_cable"></A> Buy or make ? </H3>
|
|
|
|
<P> You may try to buy a short, null modem cable. Just a "modem
|
|
cable" will not work. Null modem cables were once labeled as "serial
|
|
printer" cables but serial printers are not popular today (2004).
|
|
They also may be labeled as "file-transfer" cables or "PC-to-PC"
|
|
cables. Hardware flow control will work on them for PC-to-PC
|
|
connections (terminal emulation) but not for the DTR flow control used
|
|
by most real text terminals. If Linux supported DTR flow control,
|
|
real terminals would work OK . Make sure the connectors on the cable
|
|
ends will fit the connectors on your computer and terminal.</P>
|
|
<P>But if you need longer cables to connect up terminals or need hardware
|
|
flow control, how do you get the right cables? The right ready-made
|
|
cables may be difficult to find (you might find them by searching the
|
|
Internet), especially if you want to use a minimum (say 4) of
|
|
conductors. One option is to get them custom made, which is likely to
|
|
be fairly expensive although you might find someone to make them at
|
|
prices not too much higher than ready-made cable (I did).</P>
|
|
<P>A low-cost alternative is to buy used cables (if you can find them).
|
|
If you get a used terminal, ask if they have a cable for it. Another
|
|
alternative is to make your own. Even if you get used cables, they
|
|
may need some changes to the pin wiring. In either case, this may
|
|
require special tools. Most connectors that come with short cables
|
|
are permanently molded to the cable and can't be rewired but most
|
|
custom-made and homemade cables have connectors that can be rewired.
|
|
One advantage of making your own cable is that the skills you learn
|
|
will come in handy if a cable breaks (or goes bad) or if you need to
|
|
make up another cable in a hurry.</P>
|
|
|
|
<H3>Pin numbers of 9 and 25 pin connectors</H3>
|
|
|
|
<P> The pin numbers are often engraved in the plastic of the
|
|
connector but you may need a magnifying glass to read them.
|
|
Note DCD is sometimes labeled CD. The numbering of the pins on a
|
|
female connector is read from right to left, starting with 1 in the
|
|
upper right corner (instead of 1 in the upper left corner for the male
|
|
connector as shown below). --> direction is out of PC.</P>
|
|
<P>
|
|
<BLOCKQUOTE><CODE>
|
|
<PRE>
|
|
___________ ________________________________________
|
|
\1 2 3 4 5/ Looking at pins \1 2 3 4 5 6 7 8 9 10 11 12 13/
|
|
\6 7 8 9/ on male connector \14 15 16 17 18 19 20 21 22 23 24 25/
|
|
------ -----------------------------------
|
|
</PRE>
|
|
</CODE></BLOCKQUOTE>
|
|
</P>
|
|
|
|
<H3><A NAME="db_conn_install"></A> Installing DB connectors on cable ends </H3>
|
|
|
|
<P> See
|
|
<A HREF="#db_conn">DB Connectors</A> for a brief description
|
|
of them. Unfortunately, most cables one purchases today have molded
|
|
connectors on each end and can't be modified. Others have connectors
|
|
which unscrew and can be rewired. If you are making up cable or
|
|
modifying an existing one then you need to know about pins. There are
|
|
two types: soldered and crimped.</P>
|
|
<P>The crimped pins require a special crimping tool and also need an
|
|
"insertion/extraction" tool. But once you have these tools, making up
|
|
and modifying cable may be faster than soldering. If you are
|
|
connecting two wires to one pin (also needed if you want to jumper one
|
|
connected pin to another pin) then soldering is faster (for these
|
|
pins). This is because the crimped pins can only take one wire each
|
|
while the soldered ones can accept more than one wire per pin.</P>
|
|
<P>To insert crimped pins just push them in by hand or with the insertion
|
|
tool. Using the tool for either insertion of removal first requires
|
|
putting the tool tip around the wire. The tool tip should completely
|
|
encircle the wire at the back of the pin.</P>
|
|
<P>Removing a pin with this tool is a little tricky. These directions
|
|
can be best understood if you have both the tool and wires in front of
|
|
you as you read this. With the tool tip around the wire insert the
|
|
tool as far as it will go into the hole (about 1 1/2 cm. Some tools
|
|
have a mark (such as a tiny hole) on them to indicate how far to
|
|
insert it. The tool tip should have a tapered gap so that you may get
|
|
the tip around the wire by starting it in where the gap is wider than
|
|
the wire. The tool may have 2 tips. The one that is the most
|
|
difficult to get around the wire is also the one that removes the wire
|
|
the easiest since it almost completely envelops the wire.</P>
|
|
<P>With the tip properly inserted pull on both the tool and the wire
|
|
with a gentle pull. If it doesn't come out, the tool was likely not
|
|
inserted correctly so either push it in more or twist it to a
|
|
different position (or both). Perhaps you should have used another
|
|
tip that fits tighter around the pin. Using this tool, one may
|
|
readily convert a straight-thru cable to a file-transfer (null-modem)
|
|
cable, etc.</P>
|
|
<P>There can be problems using the "insertion/extraction" tool. If the
|
|
tools will not insert on the back of the pin, it could be that the pin
|
|
was not neatly crimped to the wire and is sort of square where it
|
|
should be round, etc. If a pin starts to come out but will not pull
|
|
out all the way, the pin may be bent. Look at it under a magnifying
|
|
glass. Straightening a pin with needle-nose pliers may damage the
|
|
gold plating but you may have to straighten it to remove it.
|
|
Sometimes a stuck pin may be pushed out with a thick screwdriver blade
|
|
tip (or the like) but if you push too hard you may gouge the plastic
|
|
hole or bend the pin:.</P>
|
|
<P>Don't try soldering unless you know what you're doing or have read
|
|
about how to do it.</P>
|
|
|
|
<H3><A NAME="rj_conn_install"></A> Installing RJ connectors </H3>
|
|
|
|
<P> These are telephone modular connecters one type of which is used
|
|
for most ordinary telephones. But there are many different types (see
|
|
<A HREF="#rj_conn">RJ Modular Connectors</A>).</P>
|
|
<P>These are not easy to reuse. You might be able to pull the wires out,
|
|
push in something wedged that would lift up the gold-colored contacts
|
|
and reuse the connector. There are special crimping tools used to
|
|
install them; a different tool for each type.</P>
|
|
<P>If you don't have a crimping tool, installation is still possible (but
|
|
difficult) using a small screwdriver (and possibly a hammer). Push in
|
|
the cable wires and then push each gold-colored contact down hard with
|
|
a small screwdriver that will just fit between the insulating ridges
|
|
between the contacts. You may damage it if you fail to use a
|
|
screwdriver with a head almost the same thickness as the contacts or
|
|
if the screwdriver slips off the contact as you are pushing it down.
|
|
You may also use a small hammer to pound on the screwdriver (push
|
|
first by hand).</P>
|
|
<P>Be sure to not hurt the "remove lever" on the connecter when you push
|
|
in the contacts. Don't just set it down on a table and push in the
|
|
contacts. Instead, put a shim (about 1 mm thick) that fits snugly
|
|
in the crevice between the lever and the body. For such a shim you
|
|
may use thick cardboard, several calling cards, or wood. Since the
|
|
bottom of the connector (that you will put on the table) isn't level
|
|
(due to the "remove lever), make sure that the table top has something
|
|
a little soft on it (like a sheet of cardboard) to help support the
|
|
non-level connector. Even better would be to put another 1mm shim
|
|
under the first 6mm of the connector, supporting it just under where
|
|
you see the contacts. A soft tabletop wouldn't hurt either. Another
|
|
method (I've never done this) is to hold the connector in a vice but
|
|
be careful not to break the connector.</P>
|
|
<P>As compared to using a crimping tool, installing it per above takes a
|
|
lot longer and is much more prone to errors and failure but it's sometimes
|
|
more expedient and a lot cheaper than buying a special tool if you
|
|
only have one or two connectors to install.</P>
|
|
|
|
<HR>
|
|
<A HREF="Text-Terminal-HOWTO-13.html">Next</A>
|
|
<A HREF="Text-Terminal-HOWTO-11.html">Previous</A>
|
|
<A HREF="Text-Terminal-HOWTO.html#toc12">Contents</A>
|
|
</BODY>
|
|
</HTML>
|