svn commit: r41052 - head/en_US.ISO8859-1/books/handbook/serialcomms
Dru Lavigne
dru at FreeBSD.org
Wed Feb 27 20:38:17 UTC 2013
Author: dru
Date: Wed Feb 27 20:38:17 2013
New Revision: 41052
URL: http://svnweb.freebsd.org/changeset/doc/41052
Log:
First pass at this chapter. This patch addresses the following:
- &os;, you, and please
- fix xref, acronym, and directory tags (still needs ulink review)
- removed redundant warning, leaving only first instance; this warning can be removed altogether once 7.x is EOL at end of month
Approved by: bcr (mentor)
Modified:
head/en_US.ISO8859-1/books/handbook/serialcomms/chapter.xml
Modified: head/en_US.ISO8859-1/books/handbook/serialcomms/chapter.xml
==============================================================================
--- head/en_US.ISO8859-1/books/handbook/serialcomms/chapter.xml Tue Feb 26 16:52:43 2013 (r41051)
+++ head/en_US.ISO8859-1/books/handbook/serialcomms/chapter.xml Wed Feb 27 20:38:17 2013 (r41052)
@@ -13,31 +13,28 @@
<indexterm><primary>serial communications</primary></indexterm>
- <para>&unix; has always had support for serial communications. In
- fact, the very first &unix; machines relied on serial lines for
- user input and output. Things have changed a lot from the days
- when the average <quote>terminal</quote> consisted of a
- 10-character-per-second serial printer and a keyboard. This
- chapter will cover some of the ways in which FreeBSD uses serial
- communications.</para>
+ <para>&unix; has always had support for serial communications as
+ the very first &unix; machines relied on serial lines for user
+ input and output. Things have changed a lot from the days
+ when the average terminal consisted of a 10-character-per-second
+ serial printer and a keyboard. This chapter covers some of the
+ ways serial communications can be used on &os;.</para>
<para>After reading this chapter, you will know:</para>
<itemizedlist>
<listitem>
- <para>How to connect terminals to your FreeBSD
- system.</para>
+ <para>How to connect terminals to a &os; system.</para>
</listitem>
<listitem>
- <para>How to use a modem to dial out to remote
- hosts.</para>
+ <para>How to use a modem to dial out to remote hosts.</para>
</listitem>
<listitem>
- <para>How to allow remote users to login to your
- system with a modem.</para>
+ <para>How to allow remote users to login to a &os; system
+ with a modem.</para>
</listitem>
<listitem>
- <para>How to boot your system from a serial console.</para>
+ <para>How to boot a &os; system from a serial console.</para>
</listitem>
</itemizedlist>
@@ -45,17 +42,16 @@
<itemizedlist>
<listitem>
- <para>Know how to configure and install a new kernel (<xref
- linkend="kernelconfig"/>).</para>
+ <para>Know how to <link linkend="kernelconfig"> configure and
+ install a custom kernel</link>.</para>
</listitem>
<listitem>
- <para>Understand &unix; permissions and processes (<xref
- linkend="basics"/>).</para>
+ <para>Understand <link linkend="basics"> &os; permissions
+ and processes</link>.</para>
</listitem>
<listitem>
<para>Have access to the technical manual for the serial
- hardware (modem or multi-port card) that you would like to
- use with FreeBSD.</para>
+ hardware to be used with &os;.</para>
</listitem>
</itemizedlist>
</sect1>
@@ -82,30 +78,30 @@
<variablelist>
<indexterm><primary>bits-per-second</primary></indexterm>
<varlistentry>
- <term>bps</term>
+ <term><acronym>bps</acronym></term>
<listitem>
- <para>Bits per Second — the rate at which data is
- transmitted</para>
+ <para>Bits per Second (<acronym>bps</acronym>) is the rate
+ at which data is transmitted.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>DTE</term>
+ <term><acronym>DTE</acronym></term>
<listitem>
<indexterm><primary>DTE</primary></indexterm>
- <para>Data Terminal Equipment — for example, your
- computer</para>
+ <para>An example of a Data Terminal Equipment
+ (<acronym>DTE</acronym>) is a computer.</para>
</listitem>
</varlistentry>
<varlistentry>
- <term>DCE</term>
+ <term><acronym>DCE</acronym></term>
<listitem>
<indexterm><primary>DCE</primary></indexterm>
- <para>Data Communications Equipment — your
- modem</para>
+ <para>An example of a Data Communications Equipment
+ (<acronym>DTE</acronym>) is a modem.</para>
</listitem>
</varlistentry>
@@ -115,8 +111,9 @@
<listitem>
<indexterm><primary>RS-232C cables</primary></indexterm>
- <para>EIA standard for hardware serial
- communications</para>
+ <para>The original standard for hardware serial
+ communications. It is now usually referred to as
+ <acronym>TIA</acronym>-232</para>
</listitem>
</varlistentry>
</variablelist>
@@ -124,28 +121,26 @@
<para>When talking about communications data rates, this section
does not use the term <quote>baud</quote>. Baud refers to the
number of electrical state transitions that may be made in a
- period of time, while <quote>bps</quote> (bits per second) is
- the <emphasis>correct</emphasis> term to use (at least it does
- not seem to bother the curmudgeons quite as much).</para>
+ period of time, while <acronym>bps</acronym> is the
+ <emphasis>correct</emphasis> term to use.</para>
</sect2>
<sect2 id="serial-cables-ports">
<title>Cables and Ports</title>
- <para>To connect a modem or terminal to your FreeBSD system, you
- will need a serial port on your computer and the proper cable
- to connect to your serial device. If you are already familiar
- with your hardware and the cable it requires, you can safely
- skip this section.</para>
+ <para>To connect a modem or serial terminal to a &os; system, a
+ serial port on the computer and the proper cable to connect to
+ the serial device are needed. Users who are already familiar
+ with serial hardware and cabling can safely skip this
+ section.</para>
<sect3 id="term-cables">
<title>Cables</title>
<para>There are several different kinds of serial cables. The
- two most common types for our purposes are null-modem cables
- and standard (<quote>straight</quote>) RS-232 cables. The
- documentation for your hardware should describe the type of
- cable required.</para>
+ two most common types are null-modem cables and standard
+ RS-232 cables. The documentation for the hardware should
+ describe the type of cable required.</para>
<sect4 id="term-cables-null">
<title>Null-modem Cables</title>
@@ -160,16 +155,15 @@
<quote>Transmitted Data</quote> pin on one end goes to the
<quote>Received Data</quote> pin on the other end.</para>
- <para>You can also construct your own null-modem cable for
- use with terminals (e.g., for quality purposes). This
- table shows the RS-232C <link
- linkend="serialcomms-signal-names">signals</link>
- and the pin numbers on a DB-25 connector. Note that the
- standard also calls for a straight-through pin 1 to pin 1
- <emphasis>Protective Ground</emphasis> line, but it is
- often omitted. Some terminals work OK using only pins 2,
- 3 and 7, while others require different configurations
- than the examples shown below.</para>
+ <para>A null-modem cable can be constructed for use with
+ terminals. The following table shows the RS-232C <link
+ linkend="serialcomms-signal-names">signal names</link>
+ and the pin numbers on a DB-25 connector. While the
+ standard calls for a straight-through pin 1 to pin 1
+ <emphasis>Protective Ground</emphasis> line, it is often
+ omitted. Some terminals work using only pins 2, 3, and
+ 7, while others require different configurations than
+ the examples shown below.</para>
<table frame="none" pgwide="1">
<title>DB-25 to DB-25 Null-Modem Cable</title>
@@ -261,8 +255,8 @@
</tgroup>
</table>
- <para>Here are two other schemes more common
- nowadays.</para>
+ <para>The next two tables show two other common
+ schemes.</para>
<table frame="none" pgwide="1">
<title>DB-9 to DB-9 Null-Modem Cable</title>
@@ -451,10 +445,9 @@
and a long wire to the other single pin.</para>
</note>
- <para>The above designs seems to be the most popular. In
- another variation (explained in the book <emphasis>RS-232
- Made Easy</emphasis>) SG connects to SG, TD connects to
- RD, RTS and CTS connect to DCD, DTR connects to DSR, and
+ <para>The above designs seem to be the most popular. In
+ another variation, SG connects to SG, TD connects to RD,
+ RTS and CTS connect to DCD, DTR connects to DSR, and
vice-versa.</para>
</sect4>
@@ -464,11 +457,11 @@
<indexterm><primary>RS-232C cables</primary></indexterm>
<para>A standard serial cable passes all of the RS-232C
- signals straight through. That is, the <quote>Transmitted
+ signals straight through. The <quote>Transmitted
Data</quote> pin on one end of the cable goes to the
<quote>Transmitted Data</quote> pin on the other end.
- This is the type of cable to use to connect a modem to
- your FreeBSD system, and is also appropriate for some
+ This is the type of cable used to connect a modem to
+ the &os; system, and is also appropriate for some
terminals.</para>
</sect4>
</sect3>
@@ -477,61 +470,61 @@
<title>Ports</title>
<para>Serial ports are the devices through which data is
- transferred between the FreeBSD host computer and the
+ transferred between the &os; host computer and the
terminal. This section describes the kinds of ports that
- exist and how they are addressed in FreeBSD.</para>
+ exist and how they are addressed in &os;.</para>
<sect4 id="term-portkinds">
<title>Kinds of Ports</title>
- <para>Several kinds of serial ports exist. Before you
- purchase or construct a cable, you need to make sure it
- will fit the ports on your terminal and on the FreeBSD
+ <para>Several kinds of serial ports exist. Before
+ purchasing or constructing a cable, make sure it will
+ fit the ports on the terminal and on the &os;
system.</para>
- <para>Most terminals will have DB-25 ports. Personal
- computers, including PCs running FreeBSD, will have DB-25
- or DB-9 ports. If you have a multiport serial card for
- your PC, you may have RJ-12 or RJ-45 ports.</para>
+ <para>Most terminals have DB-25 ports. Personal computers
+ may have DB-25 or DB-9 ports. A multiport serial card may
+ have RJ-12 or RJ-45 ports.</para>
<para>See the documentation that accompanied the hardware
- for specifications on the kind of port in use. A visual
- inspection of the port often works too.</para>
+ for specifications on the kind of port or visually verify
+ the type of port.</para>
</sect4>
<sect4 id="term-portnames">
<title>Port Names</title>
- <para>In FreeBSD, you access each serial port through an
- entry in the <filename>/dev</filename> directory. There
- are two different kinds of entries:</para>
+ <para>In &os;, each serial port is accessed through an
+ entry in <filename class="directory">/dev</filename>.
+ There are two different kinds of entries:</para>
<itemizedlist>
<listitem>
<para>Call-in ports are named
<filename>/dev/ttyu<replaceable>N</replaceable></filename>
where <replaceable>N</replaceable> is the port number,
- starting from zero. Generally, you use the call-in
- port for terminals. Call-in ports require that the
- serial line assert the data carrier detect (DCD)
- signal to work correctly.</para>
+ starting from zero. Generally, the call-in port is
+ used for terminals. Call-in ports require that the
+ serial line assert the Data Carrier Detect
+ (<acronym>DCD</acronym>) signal to work
+ correctly.</para>
</listitem>
<listitem>
<para>Call-out ports are named
<filename>/dev/cuau<replaceable>N</replaceable></filename>.
- You usually do not use the call-out port for
- terminals, just for modems. You may use the call-out
- port if the serial cable or the terminal does not
- support the carrier detect signal.</para>
+ Call-out ports are usually not used for terminals, but
+ are used for modems. The call-out port can be used if
+ the serial cable or the terminal does not support the
+ carrier detect signal.</para>
</listitem>
</itemizedlist>
- <para>If you have connected a terminal to the first serial
- port(<devicename>COM1</devicename> in &ms-dos;), then you
- will use <filename>/dev/ttyu0</filename> to refer to the
+ <para>If a terminal is connected to the first serial
+ port(<devicename>COM1</devicename>), use
+ <filename>/dev/ttyu0</filename> to refer to the
terminal. If the terminal is on the second serial port
- (also known as <devicename>COM2</devicename>), use
+ (<devicename>COM2</devicename>), use
<filename>/dev/ttyu1</filename>, and so forth.</para>
</sect4>
@@ -541,25 +534,25 @@
<sect2>
<title>Kernel Configuration</title>
- <para>FreeBSD supports four serial ports by default. In the
+ <para>&os; supports four serial ports by default. In the
&ms-dos; world, these are known as
<devicename>COM1</devicename>,
<devicename>COM2</devicename>,
<devicename>COM3</devicename>, and
- <devicename>COM4</devicename>. FreeBSD currently supports
+ <devicename>COM4</devicename>. &os; currently supports
<quote>dumb</quote> multiport serial interface cards, such as
- the BocaBoard 1008 and 2016, as well as more
- intelligent multi-port cards such as those made by Digiboard
- and Stallion Technologies. However, the default kernel only
- looks for the standard COM ports.</para>
-
- <para>To see if your kernel recognizes any of your serial ports,
- watch for messages while the kernel is booting, or use the
- <command>/sbin/dmesg</command> command to replay the kernel's
- boot messages. In particular, look for messages that start
- with the characters <literal>uart</literal> if you use
- &os; 8.0 or higher, or <literal>sio</literal> for
- &os; 7.4 or older.</para>
+ the BocaBoard 1008 and 2016, as well as more intelligent
+ multi-port cards such as those made by Digiboard and Stallion
+ Technologies. However, the default kernel only looks for the
+ standard COM ports.</para>
+
+ <para>To see if the kernel recognizes the serial ports,
+ watch for messages while the kernel is booting, or use
+ <command>/sbin/dmesg</command> to replay the kernel's
+ boot messages. Look for messages that start with the
+ characters <literal>uart</literal> for &os; 8.0 or
+ higher, or <literal>sio</literal> for &os; 7.4 or
+ older.</para>
<tip><para>To view just the messages that have the word
<literal>uart</literal> or <literal>sio</literal> depending
@@ -570,7 +563,7 @@
</tip>
<para>For example, on a &os; 7.<replaceable>X</replaceable>
- system with four serial ports, these are the serial-port
+ system with four serial ports, these are the serial port
specific kernel boot messages:</para>
<screen>sio0 at 0x3f8-0x3ff irq 4 on isa
@@ -582,31 +575,30 @@ sio2: type 16550A
sio3 at 0x2e8-0x2ef irq 9 on isa
sio3: type 16550A</screen>
- <para>If your kernel does not recognize all of your serial
- ports, you will probably need to configure your kernel
- in the <filename>/boot/device.hints</filename> file. You can
- also comment-out or completely remove lines for devices you
- do not have.</para>
-
- <para>Please refer to the &man.sio.4; manual page for
- more information on serial ports and multiport boards
- configuration. Be careful if you are using a configuration
- file that was previously used for a different version of
- FreeBSD because the device flags and the syntax have changed
- between versions.</para>
+ <para>If the kernel does not recognize all of the serial
+ ports, configure <filename>/boot/device.hints</filename>.
+ When editing this file, one can comment out or completely
+ remove lines for devices that do not exist on the
+ system.</para>
+
+ <para>Refer to &man.sio.4; for more information on
+ configuring serial ports and multiport boards. When using a
+ configuration file that was previously used for a different
+ version of &os; be aware that the device flags and the syntax
+ may have changed between versions.</para>
<note>
<para><literal>port IO_COM1</literal> is a substitution for
<literal>port 0x3f8</literal>, <literal>IO_COM2</literal> is
<literal>0x2f8</literal>, <literal>IO_COM3</literal> is
<literal>0x3e8</literal>, and <literal>IO_COM4</literal> is
- <literal>0x2e8</literal>, which are fairly common port
- addresses for their respective serial ports; interrupts 4,
- 3, 5, and 9 are fairly common interrupt request lines. Also
- note that regular serial ports <emphasis>cannot</emphasis>
- share interrupts on ISA-bus PCs (multiport boards have
+ <literal>0x2e8</literal>. These are fairly common port
+ addresses for their respective serial ports and interrupts
+ 4, 3, 5, and 9 are fairly common interrupt request lines.
+ Regular serial ports <emphasis>cannot</emphasis> share
+ interrupts on ISA-bus PCs. Multiport boards have
on-board electronics that allow all the 16550A's on the
- board to share one or two interrupt request lines).</para>
+ board to share one or two interrupt request lines.</para>
</note>
</sect2>
@@ -615,13 +607,13 @@ sio3: type 16550A</screen>
<title>Device Special Files</title>
<para>Most devices in the kernel are accessed through
- <quote>device special files</quote>, which are located in the
- <filename>/dev</filename> directory. The
+ <quote>device special files</quote> which are located in
+ <filename>/dev class="directory"</filename>. The
<devicename>sio</devicename> devices are accessed through the
<filename>/dev/ttyu<replaceable>N</replaceable></filename>
(dial-in) and
<filename>/dev/cuau<replaceable>N</replaceable></filename>
- (call-out) devices. FreeBSD also provides initialization
+ (call-out) devices. &os; also provides initialization
devices
(<filename>/dev/ttyu<replaceable>N</replaceable>.init</filename>
and
@@ -635,9 +627,9 @@ sio3: type 16550A</screen>
such as <literal>crtscts</literal> for modems which use
<literal>RTS/CTS</literal> signaling for flow control. The
locking devices are used to lock flags on ports to prevent
- users or programs changing certain parameters; see the manual
- pages &man.termios.4;, &man.sio.4;, and &man.stty.1; for
- information on the terminal settings, locking and initializing
+ users or programs changing certain parameters. Refer to
+ &man.termios.4;, &man.sio.4;, and &man.stty.1; for
+ information on terminal settings, locking and initializing
devices, and setting terminal options, respectively.</para>
</sect2>
@@ -651,20 +643,20 @@ sio3: type 16550A</screen>
<para>The
<devicename>ttyu<replaceable>N</replaceable></devicename> (or
<devicename>cuau<replaceable>N</replaceable></devicename>)
- device is the regular device you will want to open for your
- applications. When a process opens the device, it will have a
- default set of terminal I/O settings. You can see these
- settings with the command</para>
+ is the regular device to open for applications. When a
+ process opens the device, it will have a default set of
+ terminal I/O settings. These settings can be viewed with the
+ command:</para>
<screen>&prompt.root; <userinput>stty -a -f /dev/ttyu1</userinput></screen>
- <para>When you change the settings to this device, the settings
- are in effect until the device is closed. When it is
- reopened, it goes back to the default set. To make changes to
- the default set, you can open and adjust the settings of the
+ <para>When the settings are changed for a device, the settings
+ are in effect until the device is closed. When the device is
+ reopened, it goes back to the default set. To permanently
+ change the default set, open and adjust the settings of the
<quote>initial state</quote> device. For example, to turn on
<option>CLOCAL</option> mode, 8 bit communication, and
- <option>XON/XOFF</option> flow control by default for
+ <option>XON/XOFF</option> flow control for
<devicename>ttyu5</devicename>, type:</para>
<screen>&prompt.root; <userinput>stty -f /dev/ttyu5.init clocal cs8 ixon ixoff</userinput></screen>
@@ -674,8 +666,8 @@ sio3: type 16550A</screen>
<secondary><filename>rc.serial</filename></secondary>
</indexterm>
- <para>System-wide initialization of the serial devices is
- controlled in <filename>/etc/rc.d/serial</filename>. This
+ <para>System-wide initialization of serial devices is
+ controlled by <filename>/etc/rc.d/serial</filename>. This
file affects the default settings of serial devices.</para>
<para>To prevent certain settings from being changed by an
@@ -689,9 +681,8 @@ sio3: type 16550A</screen>
<devicename>ttyu5</devicename> and tries to change the speed
of the port will be stuck with 57600 bps.</para>
- <para>Naturally, you should make the initial state and lock
- state devices writable only by the <username>root</username>
- account.</para>
+ <para>The initial state and lock state devices should only be
+ writable by <username>root</username>.</para>
</sect2>
</sect1>
@@ -708,120 +699,85 @@ sio3: type 16550A</screen>
</sect1info>
<title>Terminals</title>
- <warning>
- <para>As of &os; 8.0, device nodes for serial ports have been
- renamed from
- <filename>/dev/cuad<replaceable>N</replaceable></filename> to
- <filename>/dev/cuau<replaceable>N</replaceable></filename> and
- from
- <filename>/dev/ttyd<replaceable>N</replaceable></filename> to
- <filename>/dev/ttyu<replaceable>N</replaceable></filename>.
- &os; 7.X users will have to adapt the following
- documentation according to these changes.</para>
- </warning>
-
<indexterm><primary>terminals</primary></indexterm>
<para>Terminals provide a convenient and low-cost way to access
- your FreeBSD system when you are not at the computer's console
- or on a connected network. This section describes how to use
- terminals with FreeBSD.</para>
+ a &os; system when not at the computer's console or on a
+ connected network. This section describes how to use terminals
+ with &os;.</para>
<sect2 id="term-uses">
<title>Uses and Types of Terminals</title>
<para>The original &unix; systems did not have consoles.
- Instead, people logged in and ran programs through terminals
- that were connected to the computer's serial ports. It is
- quite similar to using a modem and terminal software to dial
- into a remote system to do text-only work.</para>
-
- <para>Today's PCs have consoles capable of high quality
- graphics, but the ability to establish a login session on a
- serial port still exists in nearly every &unix; style
- operating system today; FreeBSD is no exception. By using a
- terminal attached to an unused serial port, you can log in and
- run any text program that you would normally run on the
- console or in an <command>xterm</command> window in the X
- Window System.</para>
-
- <para>For the business user, you can attach many terminals to a
- FreeBSD system and place them on your employees' desktops.
- For a home user, a spare computer such as an older IBM PC or a
- &macintosh; can be a terminal wired into a more powerful
- computer running FreeBSD. You can turn what might otherwise be
- a single-user computer into a powerful multiple user
- system.</para>
-
- <para>For FreeBSD, there are three kinds of terminals:</para>
+ Instead, users logged in and ran programs through terminals
+ that were connected to the computer's serial ports.</para>
- <itemizedlist>
- <listitem>
- <para><link linkend="term-dumb">Dumb terminals</link></para>
- </listitem>
-
- <listitem>
- <para><link linkend="term-pcs">PCs acting as
- terminals</link></para>
- </listitem>
-
- <listitem>
- <para><link linkend="term-x">X terminals</link></para>
- </listitem>
- </itemizedlist>
-
- <para>The remaining subsections describe each kind.</para>
+ <para>The ability to establish a login session on a serial port
+ still exists in nearly every &unix;-like operating system
+ today, including &os;. By using a terminal attached to an
+ unused serial port, a user can log in and run any text program
+ that can normally be run on the console or in an
+ <command>xterm</command> window.</para>
+
+ <para>Many terminals can be attached to a &os; system. An older
+ spare computer can be used as a terminal wired into a more
+ powerful computer running &os;. This can turn what might
+ otherwise be a single-user computer into a powerful multiple
+ user system.</para>
+
+ <para>This section describes three kinds of terminals supported
+ by &os;: dumb terminals, computers acting as terminals, and X
+ terminals.</para>
<sect3 id="term-dumb">
<title>Dumb Terminals</title>
- <para>Dumb terminals are specialized pieces of hardware that
- let you connect to computers over serial lines. They are
- called <quote>dumb</quote> because they have only enough
- computational power to display, send, and receive text. You
- cannot run any programs on them. It is the computer to
- which you connect them that has all the power to run text
+ <para>Dumb terminals are specialized hardware that connect to
+ computers over serial lines. They are called
+ <quote>dumb</quote> because they have only enough
+ computational power to display, send, and receive text. No
+ programs can be run on these devices. Dumb terminals
+ connect to a computer that has all the power to run text
editors, compilers, email, games, and so forth.</para>
<para>There are hundreds of kinds of dumb terminals made by
- many manufacturers, including Digital Equipment
- Corporation's VT-100 and Wyse's WY-75. Just about any kind
- will work with FreeBSD. Some high-end terminals can even
- display graphics, but only certain software packages can
- take advantage of these advanced features.</para>
+ many manufacturers, and just about any kind will work with
+ &os;. Some high-end terminals can even display graphics,
+ but only certain software packages can take advantage of
+ these advanced features.</para>
<para>Dumb terminals are popular in work environments where
- workers do not need access to graphical applications such as
- those provided by the X Window System.</para>
+ workers do not need access to graphical applications.</para>
</sect3>
<sect3 id="term-pcs">
- <title>PCs Acting as Terminals</title>
+ <title>Computers Acting as Terminals</title>
<para>If a <link linkend="term-dumb">dumb terminal</link> has
- just enough ability to display, send, and receive text, then
- certainly any spare personal computer can be a dumb
- terminal. All you need is the proper cable and some
- <emphasis>terminal emulation</emphasis> software to run on
- the computer.</para>
-
- <para>Such a configuration is popular in homes. For example,
- if your spouse is busy working on your FreeBSD system's
- console, you can do some text-only work at the same time
- from a less powerful personal computer hooked up as a
- terminal to the FreeBSD system.</para>
+ just enough ability to display, send, and receive text,
+ any spare computer can be a dumb terminal. All that is
+ needed is the proper cable and some <emphasis>terminal
+ emulation</emphasis> software to run on the
+ computer.</para>
+
+ <para>This configuration can be useful. For example, if one
+ user is busy working at the &os; system's console, another
+ user can do some text-only work at the same time from a
+ less powerful personal computer hooked up as a terminal to
+ the &os; system.</para>
<para>There are at least two utilities in the base-system of
&os; that can be used to work through a serial connection:
&man.cu.1; and &man.tip.1;.</para>
<para>To connect from a client system that runs &os; to the
- serial connection of another system, you can use:</para>
+ serial connection of another system, use:</para>
<screen>&prompt.root; <userinput>cu -l <replaceable>serial-port-device</replaceable></userinput></screen>
<para>Where <quote>serial-port-device</quote> is the name of a
- special device file denoting a serial port of your system.
+ special device file denoting a serial port on the system.
These device files are called
<devicename>/dev/cuau<replaceable>N</replaceable></devicename>.</para>
@@ -830,17 +786,13 @@ sio3: type 16550A</screen>
<note>
<para>Note that device numbers in &os; start from zero and
- not one (like they do, for instance in &ms-dos;-derived
- systems). This means that what &ms-dos;-based systems
- call <devicename>COM1</devicename> is usually
+ not one. This means that <devicename>COM1</devicename> is
<filename>/dev/cuau0</filename> in &os;.</para>
</note>
<note>
- <para>Some people prefer to use other programs, available
- through the Ports Collection. The Ports include quite a
- few utilities which can work in ways similar to &man.cu.1;
- and &man.tip.1;, i.e., <filename
+ <para>Some people prefer to use other programs available
+ through the Ports Collection, such as <filename
role="package">comms/minicom</filename>.</para>
</note>
</sect3>
@@ -854,48 +806,44 @@ sio3: type 16550A</screen>
being relegated to text-only applications, they can display
any X application.</para>
- <para>We introduce X terminals just for the sake of
- completeness. However, this chapter does
- <emphasis>not</emphasis> cover setup, configuration, or use
- of X terminals.</para>
+ <para>This chapter does <emphasis>not</emphasis> cover the
+ setup, configuration, or use of X terminals.</para>
</sect3>
</sect2>
<sect2 id="term-config">
<title>Configuration</title>
- <para>This section describes what you need to configure on your
- FreeBSD system to enable a login session on a terminal. It
- assumes you have already configured your kernel to support the
- serial port to which the terminal is connected—and that
- you have connected it.</para>
-
- <para>Recall from <xref linkend="boot"/> that the
- <command>init</command> process is responsible for all process
- control and initialization at system startup. One of the
- tasks performed by <command>init</command> is to read the
- <filename>/etc/ttys</filename> file and start a
+ <para>This section describes how to configure a &os; system to
+ enable a login session on a terminal. It assumes that the
+ kernel is configured to support the serial port to which the
+ terminal is connected and that the terminal is
+ connected.</para>
+
+ <para>The <command>init</command> process is responsible for all
+ process control and initialization at system startup. One of
+ the tasks performed by <command>init</command> is to read
+ <filename>/etc/ttys</filename> and start a
<command>getty</command> process on the available terminals.
The <command>getty</command> process is responsible for
reading a login name and starting the <command>login</command>
program.</para>
- <para>Thus, to configure terminals for your FreeBSD system the
- following steps should be taken as
- <username>root</username>:</para>
+ <para>To configure terminals for a &os; system, the following
+ steps should be taken as <username>root</username>:</para>
<procedure>
<step>
<para>Add a line to <filename>/etc/ttys</filename> for the
- entry in the <filename>/dev</filename> directory for the
- serial port if it is not already there.</para>
+ entry in <filename class="directory">/dev</filename> for
+ the serial port if it is not already there.</para>
</step>
<step>
<para>Specify that <command>/usr/libexec/getty</command>
be run on the port, and specify the appropriate
- <replaceable>getty</replaceable> type from the
- <filename>/etc/gettytab</filename> file.</para>
+ <replaceable>getty</replaceable> type from
+ <filename>/etc/gettytab</filename>.</para>
</step>
<step>
@@ -912,53 +860,53 @@ sio3: type 16550A</screen>
</step>
<step>
- <para>Force <command>init</command> to reread the
- <filename>/etc/ttys</filename> file.</para>
+ <para>Force <command>init</command> to reread
+ <filename>/etc/ttys</filename>.</para>
</step>
</procedure>
- <para>As an optional step, you may wish to create a custom
+ <para>As an optional step, create a custom
<replaceable>getty</replaceable> type for use in step 2 by
- making an entry in <filename>/etc/gettytab</filename>. This
- chapter does not explain how to do so; you are encouraged to
- see the &man.gettytab.5; and the &man.getty.8; manual pages
- for more information.</para>
+ making an entry in <filename>/etc/gettytab</filename>. For
+ more information, refer to &man.gettytab.5; and
+ &man.getty.8;.</para>
<sect3 id="term-etcttys">
<title>Adding an Entry to
<filename>/etc/ttys</filename></title>
- <para>The <filename>/etc/ttys</filename> file lists all of the
- ports on your FreeBSD system where you want to allow logins.
- For example, the first virtual console
- <devicename>ttyv0</devicename> has an entry in this file.
- You can log in on the console using this entry. This
- file also contains entries for the other virtual consoles,
- serial ports, and pseudo-ttys. For a hardwired terminal,
- just list the serial port's <filename>/dev</filename> entry
- without the <filename>/dev</filename> part (for example,
+ <para><filename>/etc/ttys</filename> lists all of the ports
+ on the &os; system which allow logins. For example, the
+ first virtual console,
+ <devicename>ttyv0</devicename>, has an entry in this file,
+ allowing logins on the console. This file also contains
+ entries for the other virtual consoles, serial ports, and
+ pseudo-ttys. For a hardwired terminal,
+ list the serial port's <filename
+ class="directory">/dev</filename> entry without the
+ <literal>/dev</literal> part. For example,
<filename>/dev/ttyv0</filename> would be listed as
- <devicename>ttyv0</devicename>).</para>
+ <literal>ttyv0</literal>.</para>
- <para>A default FreeBSD install includes an
- <filename>/etc/ttys</filename> file with support for the
+ <para>A default &os; install includes an
+ <filename>/etc/ttys</filename> with support for the
first four serial ports: <devicename>ttyu0</devicename>
- through <devicename>ttyu3</devicename>. If you are
- attaching a terminal to one of those ports, you do not need
- to add another entry.</para>
+ through <devicename>ttyu3</devicename>. When
+ attaching a terminal to one of those ports, this file does
+ not need to be edited.</para>
<example id="ex-etc-ttys">
<title>Adding Terminal Entries to
<filename>/etc/ttys</filename></title>
- <para>Suppose we would like to connect two terminals to the
- system: a Wyse-50 and an old 286 IBM PC running
+ <para>This example configures two terminals: a Wyse-50 and
+ an old 286 IBM PC running
<application>Procomm</application> terminal software
- emulating a VT-100 terminal. We connect the Wyse to the
- second serial port and the 286 to the sixth serial port (a
- port on a multiport serial card). The corresponding
- entries in the <filename>/etc/ttys</filename> file would
- look like this:</para>
+ emulating a VT-100 terminal. The Wyse is connected to the
+ second serial port and the 286 to the sixth serial port on
+ a multiport serial card. The corresponding entries in
+ <filename>/etc/ttys</filename> would look like
+ this:</para>
<programlisting>ttyu1<co
id="co-ttys-line1col1"/> "/usr/libexec/getty std.38400"<co
@@ -972,57 +920,56 @@ ttyu5 "/usr/libexec/getty std.19200"
<callout arearefs="co-ttys-line1col1">
<para>The first field normally specifies the name of
the terminal special file as it is found in
- <filename>/dev</filename>.</para>
+ <filename class="directory">/dev</filename>.</para>
</callout>
<callout arearefs="co-ttys-line1col2">
<para>The second field is the command to execute for
this line, which is usually &man.getty.8;.
<command>getty</command> initializes and opens the
- line, sets the speed, prompts for a user name and then
- executes the &man.login.1; program.</para>
+ line, sets the speed, prompts for a user name, and
+ then executes &man.login.1;.</para>
<para>The <command>getty</command> program accepts one
(optional) parameter on its command line, the
<replaceable>getty</replaceable> type. A
<replaceable>getty</replaceable> type configures
- characteristics on the terminal line, like bps rate
- and parity. The <command>getty</command> program
- reads these characteristics from the file
- <filename>/etc/gettytab</filename>.</para>
-
- <para>The file <filename>/etc/gettytab</filename>
- contains lots of entries for terminal lines both old
- and new. In almost all cases, the entries that start
- with the text <literal>std</literal> will work for
- hardwired terminals. These entries ignore parity.
- There is a <literal>std</literal> entry for each bps
- rate from 110 to 115200. Of course, you can add your
- own entries to this file. The &man.gettytab.5; manual
- page provides more information.</para>
+ characteristics on the terminal line, like
+ <acronym>bps</acronym> rate and parity.
+ <command>getty</command> reads these characteristics
+ from <filename>/etc/gettytab</filename>.</para>
+
+ <para><filename>/etc/gettytab</filename> contains many
+ entries for terminal lines, both old and new. In
+ almost all cases, the entries that start with the
+ text <literal>std</literal> will work for hardwired
+ terminals as these entries ignore parity. There is
+ a <literal>std</literal> entry for each
+ <acronym>bps</acronym> rate from 110 to 115200.
+ &man.gettytab.5; provides more information.</para>
<para>When setting the <replaceable>getty</replaceable>
- type in the <filename>/etc/ttys</filename> file, make
- sure that the communications settings on the terminal
+ type in <filename>/etc/ttys</filename>, make sure
+ that the communications settings on the terminal
match.</para>
- <para>For our example, the Wyse-50 uses no parity and
+ <para>For this example, the Wyse-50 uses no parity and
connects at 38400 bps. The 286 PC uses no
parity and connects at 19200 bps.</para>
</callout>
<callout arearefs="co-ttys-line1col3">
<para>The third field is the type of terminal usually
- connected to that tty line. For dial-up ports,
+ connected to that terminal line. For dial-up ports,
<literal>unknown</literal> or
- <literal>dialup</literal> is typically used in this
- field since users may dial up with practically any
- type of terminal or software. For hardwired
- terminals, the terminal type does not change, so you
- can put a real terminal type from the &man.termcap.5;
- database file in this field.</para>
+ <literal>dialup</literal> is typically used since
+ users may dial up with practically any type of
+ terminal or software. Since the terminal type does
+ not change for hardwired terminals, a real terminal
+ type from &man.termcap.5; can be used in this
+ field.</para>
- <para>For our example, the Wyse-50 uses the real
+ <para>For this example, the Wyse-50 uses the real
terminal type while the 286 PC running
<application>Procomm</application> will be set to
emulate at VT-100. </para>
@@ -1030,30 +977,31 @@ ttyu5 "/usr/libexec/getty std.19200"
<callout arearefs="co-ttys-line1col4">
<para>The fourth field specifies if the port should be
- enabled. Putting <literal>on</literal> here will have
- the <command>init</command> process start the program
- in the second field, <command>getty</command>. If you
- put <literal>off</literal> in this field, there will
- be no <command>getty</command>, and hence no logins on
- the port.</para>
+ enabled. If set to <literal>on</literal>, the
+ <command>init</command> process will start the program
+ in the second field, <command>getty</command>. If
+ this field is set to <literal>off</literal>, there
+ will be no <command>getty</command>, and hence no
+ logins on the port.</para>
</callout>
<callout arearefs="co-ttys-line1col5">
<para>The final field is used to specify whether the
- port is secure. Marking a port as secure means that
- you trust it enough to allow the
- <username>root</username> account (or any account with
- a user ID of 0) to login from that port. Insecure
- ports do not allow <username>root</username> logins.
- On an insecure port, users must login from
- unprivileged accounts and then use &man.su.1; or a
- similar mechanism to gain superuser privileges.</para>
-
- <para>It is highly recommended that you use
- <quote>insecure</quote>
- even for terminals that are behind locked doors. It
- is quite easy to login and use <command>su</command>
- if you need superuser privileges.</para>
+ port is secure. Marking a port as
+ <literal>secure</literal> means that it is trusted
+ enough to allow <username>root</username>, or any
+ account with a <acronym>UID</acronym> of 0, to login
+ from that port. Insecure ports do not allow
+ <username>root</username> logins. On an insecure
+ port, users must login from unprivileged accounts and
+ then use &man.su.1; or a similar mechanism to gain
+ superuser privileges.</para>
+
+ <para>It is highly recommended to use
+ <literal>insecure</literal>, even for terminals that
+ are behind locked doors. It is quite easy to login
+ and use <command>su</command> when superuser
+ privileges are needed.</para>
</callout>
</calloutlist>
</example>
@@ -1063,34 +1011,34 @@ ttyu5 "/usr/libexec/getty std.19200"
<title>Force <command>init</command> to Reread
<filename>/etc/ttys</filename></title>
- <para>After making the necessary changes to the
- <filename>/etc/ttys</filename> file you should send a SIGHUP
+ <para>After making any changes to
+ <filename>/etc/ttys</filename>, send a SIGHUP
(hangup) signal to the <command>init</command> process to
- force it to re-read its configuration file. For
- example:</para>
+ force it to re-read its configuration file:</para>
<screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen>
<note>
<para><command>init</command> is always the first process
- run on a system, therefore it will always have PID
- 1.</para>
+ run on a system, therefore it will always have a process
+ ID of 1.</para>
</note>
<para>If everything is set up correctly, all cables are in
place, and the terminals are powered up, then a
<command>getty</command> process should be running on each
- terminal and you should see login prompts on your terminals
- at this point.</para>
+ terminal and login prompts should be available on each
+ terminal.</para>
</sect3>
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-doc-head
mailing list