647 lines
8.7 KiB
HTML
647 lines
8.7 KiB
HTML
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Select a serial port </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="Preparation"
|
|
HREF="preparation.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Create fallback position"
|
|
HREF="preparation-fallback.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Select a serial speed and parameters"
|
|
HREF="preparation-setspeed.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="preparation-fallback.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
>Chapter 2. Preparation</TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="preparation-setspeed.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H1
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="PREPARATION-SETPORT"
|
|
></A
|
|
>2.2. Select a serial port</H1
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H2
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="PREPARATION-SETPORT-NAME"
|
|
></A
|
|
>2.2.1. Serial port names</H2
|
|
><P
|
|
>Linux names its serial ports in the
|
|
<SPAN
|
|
CLASS="PRODUCTNAME"
|
|
>UNIX</SPAN
|
|
> tradition. The first serial port
|
|
has the file name <TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS0</TT
|
|
>, the second serial port
|
|
has the file name <TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS1</TT
|
|
>, and so on.</P
|
|
><P
|
|
>This differs from the <SPAN
|
|
CLASS="PRODUCTNAME"
|
|
><SPAN
|
|
CLASS="ACRONYM"
|
|
>IBM</SPAN
|
|
>
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>PC</SPAN
|
|
></SPAN
|
|
> tradition. The first serial
|
|
port is named <TT
|
|
CLASS="FILENAME"
|
|
>COM1:</TT
|
|
>, the
|
|
second serial port is named <TT
|
|
CLASS="FILENAME"
|
|
>COM2:</TT
|
|
>, and so on. Up to four serial
|
|
ports can be present on a <SPAN
|
|
CLASS="PRODUCTNAME"
|
|
><SPAN
|
|
CLASS="ACRONYM"
|
|
>IBM</SPAN
|
|
>
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>PC/AT</SPAN
|
|
></SPAN
|
|
> computer and its
|
|
successors.</P
|
|
><P
|
|
>Most boot loaders have yet another naming scheme. The first
|
|
serial port is numbered <TT
|
|
CLASS="LITERAL"
|
|
>0</TT
|
|
>, the second serial
|
|
port is numbered <TT
|
|
CLASS="LITERAL"
|
|
>1</TT
|
|
>, and so on.</P
|
|
><P
|
|
>If your distribution of <SPAN
|
|
CLASS="SYSTEMITEM"
|
|
>Linux</SPAN
|
|
> uses the
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>devfs</SPAN
|
|
> device manager then the serial
|
|
ports have yet another name. The first serial port is <TT
|
|
CLASS="FILENAME"
|
|
>/dev/tts/0</TT
|
|
>, the second serial port
|
|
is <TT
|
|
CLASS="FILENAME"
|
|
>/dev/tts/1</TT
|
|
>, and so
|
|
on.</P
|
|
><P
|
|
>The result is that the first serial port is labeled
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>COM1:</TT
|
|
> on the chassis of
|
|
the <SPAN
|
|
CLASS="PRODUCTNAME"
|
|
><SPAN
|
|
CLASS="ACRONYM"
|
|
>IBM</SPAN
|
|
>
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>PC</SPAN
|
|
></SPAN
|
|
>; is known as <TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS0</TT
|
|
> to <SPAN
|
|
CLASS="SYSTEMITEM"
|
|
>Linux</SPAN
|
|
>; is known as <TT
|
|
CLASS="FILENAME"
|
|
>/dev/tts/0</TT
|
|
> to <SPAN
|
|
CLASS="SYSTEMITEM"
|
|
>Linux</SPAN
|
|
> when configured with
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>devfs</SPAN
|
|
>; and is known as port
|
|
<TT
|
|
CLASS="LITERAL"
|
|
>0</TT
|
|
> to many boot loaders.</P
|
|
><P
|
|
>The examples in this <I
|
|
CLASS="CITETITLE"
|
|
>HOWTO</I
|
|
> use this
|
|
first serial port, as that is the serial port which most readers
|
|
will wish to use.</P
|
|
><DIV
|
|
CLASS="TABLE"
|
|
><A
|
|
NAME="PREPARATION-SETPORT-NAMES-MANY"
|
|
></A
|
|
><P
|
|
><B
|
|
>Table 2-1. Many names for the same serial port</B
|
|
></P
|
|
><TABLE
|
|
BORDER="1"
|
|
CLASS="CALSTABLE"
|
|
><THEAD
|
|
><TR
|
|
><TH
|
|
ALIGN="CENTER"
|
|
VALIGN="BOTTOM"
|
|
><SPAN
|
|
CLASS="PRODUCTNAME"
|
|
>IBM PC</SPAN
|
|
></TH
|
|
><TH
|
|
ALIGN="CENTER"
|
|
VALIGN="BOTTOM"
|
|
><SPAN
|
|
CLASS="SYSTEMITEM"
|
|
>Linux</SPAN
|
|
> kernel</TH
|
|
><TH
|
|
ALIGN="CENTER"
|
|
VALIGN="BOTTOM"
|
|
><SPAN
|
|
CLASS="SYSTEMITEM"
|
|
>Linux</SPAN
|
|
> kernel with
|
|
<SPAN
|
|
CLASS="APPLICATION"
|
|
>devfs</SPAN
|
|
></TH
|
|
><TH
|
|
ALIGN="CENTER"
|
|
VALIGN="BOTTOM"
|
|
>Most boot loaders</TH
|
|
></TR
|
|
></THEAD
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>COM1:</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS0</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/dev/tts/0</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="LITERAL"
|
|
>0</TT
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>COM2:</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS1</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/dev/tts/1</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="LITERAL"
|
|
>1</TT
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>COM3:</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS2</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/dev/tts/2</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="LITERAL"
|
|
>2</TT
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>COM4:</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS3</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/dev/tts/3</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="LITERAL"
|
|
>3</TT
|
|
></TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="SECTION"
|
|
><H2
|
|
CLASS="SECTION"
|
|
><A
|
|
NAME="PREPARATION-SETPORT-INTERRUPT"
|
|
></A
|
|
>2.2.2. Cannot share interrupt used for console's serial
|
|
port</H2
|
|
><P
|
|
>When used for a console the serial port cannot share an
|
|
interrupt with another device. The
|
|
<SPAN
|
|
CLASS="PRODUCTNAME"
|
|
><SPAN
|
|
CLASS="ACRONYM"
|
|
>IBM</SPAN
|
|
>
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>PC</SPAN
|
|
></SPAN
|
|
> devices are usually installed
|
|
as shown in <A
|
|
HREF="preparation-setport.html#PREPARATION-SETPORT-IBMPC"
|
|
>Table 2-2</A
|
|
>. If you
|
|
use the serial port <TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS0</TT
|
|
> for the console then you
|
|
should avoid sharing interrupt 4 by not installing a serial port
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS2</TT
|
|
> in your
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>PC</SPAN
|
|
>. If <TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS2</TT
|
|
> cannot be physically
|
|
removed then disable it using the <B
|
|
CLASS="COMMAND"
|
|
>setserial</B
|
|
>
|
|
command, as shown in <A
|
|
HREF="preparation-setport.html#PREPARATION-SETPORT-SETSERIAL"
|
|
>Figure 2-1</A
|
|
>.</P
|
|
><DIV
|
|
CLASS="TABLE"
|
|
><A
|
|
NAME="PREPARATION-SETPORT-IBMPC"
|
|
></A
|
|
><P
|
|
><B
|
|
>Table 2-2. Interrupts used for <SPAN
|
|
CLASS="PRODUCTNAME"
|
|
><SPAN
|
|
CLASS="ACRONYM"
|
|
>IBM</SPAN
|
|
>
|
|
<SPAN
|
|
CLASS="ACRONYM"
|
|
>PC/AT</SPAN
|
|
></SPAN
|
|
> <SPAN
|
|
CLASS="ACRONYM"
|
|
>RS-232</SPAN
|
|
>
|
|
ports</B
|
|
></P
|
|
><TABLE
|
|
BORDER="1"
|
|
CLASS="CALSTABLE"
|
|
><THEAD
|
|
><TR
|
|
><TH
|
|
ALIGN="CENTER"
|
|
VALIGN="BOTTOM"
|
|
>Device</TH
|
|
><TH
|
|
ALIGN="CENTER"
|
|
VALIGN="BOTTOM"
|
|
>Interrupt</TH
|
|
><TH
|
|
ALIGN="CENTER"
|
|
VALIGN="BOTTOM"
|
|
>Port</TH
|
|
></TR
|
|
></THEAD
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS0</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
>4</TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
>0x3f8</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS1</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
>3</TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
>0x2f8</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS2</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
>4</TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
>0x3e8</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
><TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS3</TT
|
|
></TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
>3</TD
|
|
><TD
|
|
ALIGN="CENTER"
|
|
VALIGN="TOP"
|
|
>0x2e8</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
></DIV
|
|
><DIV
|
|
CLASS="FIGURE"
|
|
><A
|
|
NAME="PREPARATION-SETPORT-SETSERIAL"
|
|
></A
|
|
><P
|
|
><B
|
|
>Figure 2-1. Using the <B
|
|
CLASS="COMMAND"
|
|
>setserial</B
|
|
> command in
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/etc/rc.serial</TT
|
|
>to disable the serial port
|
|
<TT
|
|
CLASS="FILENAME"
|
|
>/dev/ttyS2</TT
|
|
></B
|
|
></P
|
|
><TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="PROGRAMLISTING"
|
|
># Disable /dev/ttyS2 so interrupt 4 is not shared,
|
|
# then /dev/ttyS0 can be used as a serial console.
|
|
setserial /dev/ttyS2 uart none port 0x0 irq 0</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
><P
|
|
>Reading the source code suggests that the interrupt-sharing
|
|
constraint applies to all computer architectures, not just Intel
|
|
Architecture-32.</P
|
|
></DIV
|
|
></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="preparation-fallback.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="preparation-setspeed.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Create fallback position</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="preparation.html"
|
|
ACCESSKEY="U"
|
|
>Up</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Select a serial speed and parameters</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |