Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > by-pkgid > 965e33040dd61030a94f0eb89877aee8 > files > 5175

howto-html-en-20080722-2mdv2010.1.noarch.rpm

<HTML
><HEAD
><TITLE
>Cable from console port to terminal (or another PC)</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="Remote Serial Console HOWTO"
HREF="index.html"><LINK
REL="UP"
TITLE="Serial cabling"
HREF="serial.html"><LINK
REL="PREVIOUS"
TITLE="Cable from console port to modem"
HREF="serial-pc-modem.html"><LINK
REL="NEXT"
TITLE="Lengths of serial cables"
HREF="serial-distance.html"></HEAD
><BODY
CLASS="SECTION"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Remote Serial Console HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="serial-pc-modem.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 11. Serial cabling</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="serial-distance.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECTION"
><H1
CLASS="SECTION"
><A
NAME="SERIAL-PC-TERMINAL"
></A
>11.3. Cable from console port to terminal (or another PC)</H1
><P
>The <SPAN
CLASS="ACRONYM"
>RS-232</SPAN
> standard allows for, but does
   not specify, the interconnection of two computers without
   intervening modems.  A special cable is required, called a
   <SPAN
CLASS="QUOTE"
>"null modem"</SPAN
> cable.</P
><P
>The wiring within the null modem cable depends upon the
   handshaking and control signals that are needed.  Differing
   manufacturers have differing views on this topic, so don't buy a
   null modem cable that does not come with a wiring diagram.</P
><P
>Linux needs all of the flow control and modem control signals
   to be correctly wired.  The correct wiring of a null modem cable is
   shown in <A
HREF="serial-pc-terminal.html#SERIAL-PC-TERMINAL-CABLE-GOOD1"
>Figure 11-1</A
> with an
   alternative shown in <A
HREF="serial-pc-terminal.html#SERIAL-PC-TERMINAL-CABLE-GOOD2"
>Figure 11-2</A
>.</P
><P
>Linux uses <SPAN
CLASS="ACRONYM"
>CTS</SPAN
> and <SPAN
CLASS="ACRONYM"
>RTS</SPAN
> to
   do handshaking, preventing the computer from overrunning the
   terminal and preventing the terminal from overrunning the computer.
   If you are connecting two computers together, then you will not get
   reliable file transfers without
   <SPAN
CLASS="ACRONYM"
>CTS</SPAN
>/<SPAN
CLASS="ACRONYM"
>RTS</SPAN
> handshaking.</P
><P
>Linux uses <SPAN
CLASS="ACRONYM"
>DSR</SPAN
> and <SPAN
CLASS="ACRONYM"
>DCD</SPAN
> to
   sense that a terminal is connected.  It will then request a login.
   If a session is established and <SPAN
CLASS="ACRONYM"
>DCD</SPAN
> falls then
   Linux will log out the user.</P
><P
>Linux uses <SPAN
CLASS="ACRONYM"
>DTR</SPAN
> to force the link to be
   cleared.  It does this after a user logs off to free up the
   communications channel.</P
><P
>Either of the null modem designs in <A
HREF="serial-pc-terminal.html#SERIAL-PC-TERMINAL-CABLE-GOOD1"
>Figure 11-1</A
> or <A
HREF="serial-pc-terminal.html#SERIAL-PC-TERMINAL-CABLE-GOOD2"
>Figure 11-2</A
> meets the requirements of
   the Linux kernel.  <A
HREF="serial-pc-terminal.html#SERIAL-PC-TERMINAL-CABLE-GOOD2"
>Figure 11-2</A
>
   may be marginally better when both computers are remotely located,
   as the differing states of <SPAN
CLASS="ACRONYM"
>DSR</SPAN
> and
   <SPAN
CLASS="ACRONYM"
>DCD</SPAN
> can be used to determine which end of the
   null modem cable has become faulty.</P
><P
>All null modem designs have a common flaw.  Computers
   interconnected with real modems modem will drop Data Set Ready for
   some time after the local modem is reset by the local computer
   dropping Data Terminal Ready.  Most software is designed to
   accomodate this slight difference between modem links and null
   modem links.</P
><P
>Major security exposures and significant loss of reliability
   can occur with incorrectly wired null modem cables, including the
   cables in <A
HREF="serial-pc-terminal.html#SERIAL-PC-TERMINAL-CABLE-BAD"
>Figure 11-3</A
>, <A
HREF="serial-pc-terminal.html#SERIAL-PC-TERMINAL-CABLE-UGLY1"
>Figure 11-4</A
> and <A
HREF="serial-pc-terminal.html#SERIAL-PC-TERMINAL-CABLE-UGLY2"
>Figure 11-5</A
>.</P
><DIV
CLASS="FIGURE"
><A
NAME="SERIAL-PC-TERMINAL-CABLE-GOOD1"
></A
><P
><B
>Figure 11-1. Null modem cable with full status and handshaking</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>      Signal ground ---------------------- Signal ground

       Receive data ---------------------- Transmit data

      Transmit data ---------------------- Receive data

      Ready to send ---------------------- Clear to send

      Clear to send ---------------------- Ready to send

Data terminal ready -----------------+---- Data carrier detect
                                     |
                                     +---- Data set ready

Data carrier detect ----+----------------- Data terminal ready
                        |
     Data set ready ----+

    Ring indication -- not connected

                          not connected -- Ring indication</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="FIGURE"
><A
NAME="SERIAL-PC-TERMINAL-CABLE-GOOD2"
></A
><P
><B
>Figure 11-2. Variation on null modem cable with full status and
    handshaking</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>      Signal ground ---------------------- Signal ground

       Receive data ---------------------- Transmit data

      Transmit data ---------------------- Receive data

      Ready to send ---------------------- Clear to send

      Clear to send ---------------------- Ready to send

Data terminal ready ----+----------------- Data carrier detect
                        |
     Data set ready ----+

                                     +---- Data set ready
                                     |
Data carrier detect ----+------------+---- Data terminal ready

    Ring indication -- not connected

                          not connected -- Ring indication</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><P
>Unfortunately not all <SPAN
CLASS="SYSTEMITEM"
>Linux</SPAN
> boot loaders support the control
   signals required by the <SPAN
CLASS="SYSTEMITEM"
>Linux</SPAN
> operating system.  This odd state
   of affairs may force you to do away with control signals and
   handshaking if you need to issue commands to the boot
   loader.</P
><P
>There are two ways of defeating the <SPAN
CLASS="ACRONYM"
>RS-232</SPAN
>
   handshaking: software and hardware.</P
><P
>If you have a modem then by far the best technique is to
   disable the control signals and handshaking by using
   <SPAN
CLASS="ACRONYM"
>AT</SPAN
> commands to configure the modem's software.
   This allows the handshaking to be restored when the boot loader
   authors correct their support for serial connections.</P
><P
>For a null modem cable the best approach is to disable
   handshaking in your terminal emulation software.</P
><P
>In the worst case for a null modem you will need a cable that
   falsifies the handshaking and control signals.  Try not to use
   these cables in a production environment.</P
><DIV
CLASS="FIGURE"
><A
NAME="SERIAL-PC-TERMINAL-CABLE-BAD"
></A
><P
><B
>Figure 11-3. Null modem cable with falsified status and
    handshaking</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>      Signal ground ---------------------- Signal ground

       Receive data ---------------------- Transmit data

      Transmit data ---------------------- Receive data

Data terminal ready ---+              +--- Data terminal ready
                       |              |
      Clear to send ---+              +--- Clear to send
                       |              |
Data carrier detect ---+              +--- Data terminal ready
                       |              |
     Data set ready ---+              +--- Data set ready

      Ready to send -- not connected

                          not connected -- Ready to send

    Ring indication -- not connected

                          not connected -- Ring indication</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><P
>If you are happy with a quick hack, perhaps just to use a
   serial console to grab a kernel oops message, then you can
   configure some <SPAN
CLASS="APPLICATION"
>getty</SPAN
> programs to ignore
   the <SPAN
CLASS="ACRONYM"
>RS-232</SPAN
> status signals.  For example,
   <SPAN
CLASS="APPLICATION"
>mgetty</SPAN
> has the <TT
CLASS="LITERAL"
>direct</TT
>
   option in <TT
CLASS="FILENAME"
>mgetty.conf</TT
>.  In this case only a
   three-wire or two-wire <SPAN
CLASS="ACRONYM"
>RS-232</SPAN
> null modem cable
   is needed.</P
><DIV
CLASS="FIGURE"
><A
NAME="SERIAL-PC-TERMINAL-CABLE-UGLY1"
></A
><P
><B
>Figure 11-4. Null modem cable with no status or handshaking</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>Signal ground ---------------------- Signal ground

 Receive data ---------------------- Transmit data

Transmit data ---------------------- Receive data</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="FIGURE"
><A
NAME="SERIAL-PC-TERMINAL-CABLE-UGLY2"
></A
><P
><B
>Figure 11-5. One-way null modem cable with no status or handshaking</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><FONT
COLOR="#000000"
><PRE
CLASS="PROGRAMLISTING"
>Signal ground ---------------------- Signal ground

Transmit data ---------------------- Receive data</PRE
></FONT
></TD
></TR
></TABLE
></DIV
><P
>Don't use these cables in a production environment.</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="serial-pc-modem.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="serial-distance.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Cable from console port to modem</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="serial.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Lengths of serial cables</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>