- Add an <example> and use a calloutlist for the /etc/ttys section
instead of creating a new subsection for each field. The output is much more succinct and legible. - Add a note about FreeBSD 5.0 and devfs that obviates the 'Making Device Special Files' section. - Remove reference to a book that we don't have any bibliographical information for and that is a bit tangential to the subject at hand (RS-232 Bible). - Add missing words to make complete sentences. - Simplify discussion of null-modem and "straight" serial cables. - Consistently use a replaceable 'N' for the last character of terminal devices instead of interspersing ? and X. - Remove duplicate 'See the sio(4) manual page for more information.' lines. One of these is quite sufficient per section. - Remove more duplicate information that is unnecessary since this chapter has been reorganized. - Enclose a hint in the <tip> tag. This chapter still needs work.
This commit is contained in:
parent
e7f5444e88
commit
2a14ff14f4
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=10242
1 changed files with 163 additions and 216 deletions
|
@ -1,7 +1,7 @@
|
|||
<!--
|
||||
The FreeBSD Documentation Project
|
||||
|
||||
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml,v 1.36 2001/08/06 12:36:16 murray Exp $
|
||||
$FreeBSD: doc/en_US.ISO8859-1/books/handbook/serialcomms/chapter.sgml,v 1.37 2001/08/06 21:25:28 chern Exp $
|
||||
-->
|
||||
|
||||
<chapter id="serialcomms">
|
||||
|
@ -85,11 +85,6 @@
|
|||
</varlistentry>
|
||||
</variablelist>
|
||||
|
||||
<!-- XXX Use a formal citation and bibliography entry -->
|
||||
<para>If you need more information about these terms and data
|
||||
communications in general, <emphasis>The RS-232
|
||||
Bible</emphasis> is a good reference.</para>
|
||||
|
||||
<para>When talking about communications data rates, the authors
|
||||
do not use the term <quote>baud</quote>. Baud refers to the
|
||||
number of electrical state transitions that may be made in a
|
||||
|
@ -102,7 +97,7 @@
|
|||
<title>Cables and Ports</title>
|
||||
|
||||
<para>To connect a modem or terminal to your FreeBSD system, you
|
||||
a serial port on your computer and the proper cable to connect
|
||||
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>
|
||||
|
@ -110,46 +105,25 @@
|
|||
<sect3 id="term-cables">
|
||||
<title>Cables</title>
|
||||
|
||||
<para>Because terminals use serial ports, you need to use
|
||||
serial—also known as RS-232C—cables to connect the
|
||||
terminal to the FreeBSD system.</para>
|
||||
<para>There are several different kinds of serial cables. The
|
||||
two most common types for our purposes are null-modem cables
|
||||
and standard ("straight") RS-232 cables. The documentation
|
||||
for your hardware should describe the type of cable
|
||||
required.</para>
|
||||
|
||||
<para>There are a couple of kinds of serial cables. Which one
|
||||
you'll use depends on the terminal you want to connect:</para>
|
||||
|
||||
<indexterm><primary>null-modem cable</primary></indexterm>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>If you are connecting a personal computer to act as a
|
||||
terminal, use a <link linkend="term-null">null-modem</link>
|
||||
cable. A null-modem cable connects two computers or terminals
|
||||
together.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>If you have an actual terminal, your best source of
|
||||
information on what cable to use is the documentation that
|
||||
accompanied the terminal. If you do not have the documentation,
|
||||
then try a <link linkend="term-null">null-modem</link> cable.
|
||||
If that does not work, then try a <link
|
||||
linkend="term-std">standard</link> cable.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Also, the serial port on <emphasis>both</emphasis> the terminal
|
||||
and your FreeBSD system must have connectors that will fit the cable
|
||||
you are using.</para>
|
||||
|
||||
<sect4 id="term-null">
|
||||
<sect4 id="term-cables-null">
|
||||
<title>Null-modem cables</title>
|
||||
|
||||
|
||||
<indexterm>
|
||||
<primary>null-modem cable</primary>
|
||||
</indexterm>
|
||||
<para>A null-modem cable passes some signals straight through, like
|
||||
<quote>signal ground,</quote> but switches other signals. For
|
||||
example, the <quote>send data</quote> pin on one end goes to the
|
||||
<quote>receive data</quote> pin on the other end.</para>
|
||||
|
||||
<para>If you like making your own cables, here is a table showing a
|
||||
recommended way to construct a null-modem cable for use with
|
||||
<para>If you like making your own cables, you can construct
|
||||
a null-modem cable for use with
|
||||
terminals. This table shows the RS-232C signal names and the pin
|
||||
numbers on a DB-25 connector.</para>
|
||||
|
||||
|
@ -240,10 +214,10 @@
|
|||
</note>
|
||||
</sect4>
|
||||
|
||||
<sect4 id="term-std">
|
||||
<sect4 id="term-cables-std">
|
||||
<title>Standard RS-232C Cables</title>
|
||||
<indexterm><primary>RS-232C cables</primary></indexterm>
|
||||
|
||||
<indexterm><primary>RS-232C cables</primary></indexterm>
|
||||
|
||||
<para>A standard serial cable passes all the RS-232C signals
|
||||
straight-through. That is, the <quote>send data</quote> pin on one
|
||||
end of the cable goes to the <quote>send data</quote> pin on the
|
||||
|
@ -288,8 +262,8 @@
|
|||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>Call-in ports are named
|
||||
<filename>/dev/ttyd<replaceable>X</replaceable></filename>
|
||||
where <replaceable>X</replaceable> is the port number,
|
||||
<filename>/dev/ttyd<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.</para>
|
||||
|
@ -297,7 +271,7 @@
|
|||
|
||||
<listitem>
|
||||
<para>Call-out ports are named
|
||||
<filename>/dev/cuaa<replaceable>X</replaceable></filename>.
|
||||
<filename>/dev/cuaa<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
|
||||
|
@ -305,19 +279,13 @@
|
|||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>See the &man.sio.4; manual page for more information.</para>
|
||||
|
||||
<para>If you have connected a terminal to the first serial port
|
||||
(<devicename>COM1</devicename> in DOS parlance), then you want to
|
||||
(<devicename>COM1</devicename> in MS-DOS parlance), then you want to
|
||||
use <filename>/dev/ttyd0</filename> to refer to the terminal. If
|
||||
it is on the second serial port (also known as
|
||||
<devicename>COM2</devicename>), it is
|
||||
<filename>/dev/ttyd1</filename>, and so forth.</para>
|
||||
|
||||
<para>Note that you may have to configure your kernel to support
|
||||
each serial port, especially if you have a multiport serial card.
|
||||
See <link linkend="kernelconfig">Configuring the FreeBSD
|
||||
Kernel</link> for more information.</para>
|
||||
|
||||
</sect4>
|
||||
</sect3>
|
||||
</sect2>
|
||||
|
@ -332,8 +300,7 @@
|
|||
<devicename>COM3:</devicename>, and
|
||||
<devicename>COM4:</devicename>. FreeBSD currently supports
|
||||
<quote>dumb</quote> multiport serial interface cards, such as
|
||||
the BocaBoard 1008 and 2016 (please see the &man.sio.4 manual
|
||||
page for more information on these cards), as well as more
|
||||
the BocaBoard 1008 and 2016, as well as more
|
||||
intelligent multi-port cards such as those made by Digiboard
|
||||
and Stallion Technologies. The default kernel only looks for
|
||||
the standard COM ports, though.</para>
|
||||
|
@ -342,10 +309,13 @@
|
|||
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>sio</literal>. Hint: to view just the messages
|
||||
that have the word <literal>sio</literal>, use the command:</para>
|
||||
characters <literal>sio</literal>.</para>
|
||||
|
||||
<tip><para>To view just the messages that have the word
|
||||
<literal>sio</literal>, use the command:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>/sbin/dmesg | grep 'sio'</userinput></screen>
|
||||
</tip>
|
||||
|
||||
<para>For example, on a system with four serial ports, these are the
|
||||
serial-port specific kernel boot messages:</para>
|
||||
|
@ -361,8 +331,9 @@ sio3: type 16550A</screen>
|
|||
|
||||
<para>If your kernel does not recognize all of your serial
|
||||
ports, you will probably need to configure a custom FreeBSD
|
||||
kernel for your system. For more information about this
|
||||
please see <xref linkend="kernelconfig">.</para>
|
||||
kernel for your system. For detailed information on
|
||||
configuring your kernel, please see <xref
|
||||
linkend="kernelconfig">.</para>
|
||||
|
||||
<para>The relevant device lines for your kernel configuration
|
||||
file would look like this:</para>
|
||||
|
@ -403,14 +374,14 @@ device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr</programlisting>
|
|||
special files</quote>, which are located in the
|
||||
<filename>/dev</filename> directory. The <devicename>sio</devicename>
|
||||
devices are accessed through the
|
||||
<filename>/dev/ttyd<replaceable>?</replaceable></filename> (dial-in)
|
||||
and <filename>/dev/cuaa<replaceable>?</replaceable></filename>
|
||||
<filename>/dev/ttyd<replaceable>N</replaceable></filename> (dial-in)
|
||||
and <filename>/dev/cuaa<replaceable>N</replaceable></filename>
|
||||
(call-out) devices. FreeBSD also provides initialization devices
|
||||
(<filename>/dev/ttyid<replaceable>?</replaceable></filename> and
|
||||
<filename>/dev/cuai0<replaceable>?</replaceable></filename>) and
|
||||
(<filename>/dev/ttyid<replaceable>N</replaceable></filename> and
|
||||
<filename>/dev/cuai0<replaceable>N</replaceable></filename>) and
|
||||
locking devices
|
||||
(<filename>/dev/ttyld<replaceable>?</replaceable></filename> and
|
||||
<filename>/dev/cual0<replaceable>?</replaceable></filename>). The
|
||||
(<filename>/dev/ttyld<replaceable>N</replaceable></filename> and
|
||||
<filename>/dev/cual0<replaceable>N</replaceable></filename>). The
|
||||
initialization devices are used to initialize communications port
|
||||
parameters each time a port is opened, such as
|
||||
<literal>crtscts</literal> for modems which use
|
||||
|
@ -424,6 +395,12 @@ device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr</programlisting>
|
|||
<sect3>
|
||||
<title>Making Device Special Files</title>
|
||||
|
||||
<note><para>FreeBSD 5.0 includes the <literal>devfs</literal>
|
||||
filesystem which automatically creates device nodes as
|
||||
needed. If you are running a version of FreeBSD with
|
||||
<literal>devfs</literal> enabled then you can safely skip
|
||||
this section.</para></note>
|
||||
|
||||
<para>A shell script called <command>MAKEDEV</command> in the
|
||||
<filename>/dev</filename> directory manages the device special
|
||||
files. To use <command>MAKEDEV</command> to make dial-up device
|
||||
|
@ -434,14 +411,14 @@ device sio3 at isa? port "IO_COM4" tty irq 9 vector siointr</programlisting>
|
|||
use <command>MAKEDEV ttyd1</command>.</para>
|
||||
|
||||
<para><command>MAKEDEV</command> not only creates the
|
||||
<devicename>/dev/ttyd<replaceable>?</replaceable></devicename> device
|
||||
<devicename>/dev/ttyd<replaceable>N</replaceable></devicename> device
|
||||
special files, but also creates the
|
||||
<devicename>/dev/cuaa<replaceable>?</replaceable></devicename>,
|
||||
<devicename>/dev/cuaia<replaceable>?</replaceable></devicename>,
|
||||
<devicename>/dev/cuala<replaceable>?</replaceable></devicename>,
|
||||
<devicename>/dev/ttyld<replaceable>?</replaceable></devicename>,
|
||||
<devicename>/dev/cuaa<replaceable>N</replaceable></devicename>,
|
||||
<devicename>/dev/cuaia<replaceable>N</replaceable></devicename>,
|
||||
<devicename>/dev/cuala<replaceable>N</replaceable></devicename>,
|
||||
<devicename>/dev/ttyld<replaceable>N</replaceable></devicename>,
|
||||
and
|
||||
<devicename>/dev/ttyid<replaceable>?</replaceable></devicename>
|
||||
<devicename>/dev/ttyid<replaceable>N</replaceable></devicename>
|
||||
nodes.</para>
|
||||
|
||||
<para>After making new device special files, be sure to check the
|
||||
|
@ -469,8 +446,8 @@ crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1</screen>
|
|||
<indexterm><primary><devicename>ttyd</devicename></primary></indexterm>
|
||||
<indexterm><primary><devicename>cuaa</devicename></primary></indexterm>
|
||||
|
||||
<para>The <devicename>ttyd<replaceable>X</replaceable></devicename> (or
|
||||
<devicename>cuaa<replaceable>X</replaceable></devicename>) device is the
|
||||
<para>The <devicename>ttyd<replaceable>N</replaceable></devicename> (or
|
||||
<devicename>cuaa<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>
|
||||
|
@ -651,7 +628,7 @@ crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1</screen>
|
|||
|
||||
<procedure>
|
||||
<step>
|
||||
<para>Add an line to <filename>/etc/ttys</filename> for the entry in
|
||||
<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>
|
||||
</step>
|
||||
|
@ -688,168 +665,138 @@ crw-rw---- 1 uucp dialer 28, 193 Feb 15 14:38 /dev/cuala1</screen>
|
|||
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>
|
||||
|
||||
<para>To help illustrate this procedure, we will use a running
|
||||
example throughout this section. In our example, we will
|
||||
connect two terminals to the system: a Wyse-50 and a 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).</para>
|
||||
|
||||
<sect3 id="term-etcttys">
|
||||
<title>Adding an Entry to <filename>/etc/ttys</filename></title>
|
||||
|
||||
<para>First, you need to add an entry to the
|
||||
<filename>/etc/ttys</filename> file, unless one is already
|
||||
there.</para>
|
||||
|
||||
<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 <filename>ttyv0</filename> has an entry in
|
||||
this file. You can log in on the console using this entry. This
|
||||
file contains entries for the other virtual consoles, serial ports,
|
||||
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.</para>
|
||||
|
||||
|
||||
<para>A default FreeBSD install includes a
|
||||
<filename>/etc/ttys</filename> file with support for the first
|
||||
four serial ports: <filename>ttyd0</filename> through
|
||||
<filename>ttyd3</filename>. If you are attaching a terminal on one
|
||||
of those ports, you do not need to add another entry.</para>
|
||||
|
||||
<para>In our example, we attached a Wyse-50 to the second serial port,
|
||||
<filename>ttyd1</filename>, which is already in the file. We need
|
||||
to add an entry for the 286 PC connected to the sixth serial port.
|
||||
Here is an excerpt of the <filename>/etc/ttys</filename> file after
|
||||
we add the new entry:</para>
|
||||
<filename>ttyd3</filename>. If you are attaching a terminal
|
||||
to one of those ports, you do not need to add another entry.</para>
|
||||
|
||||
<programlisting>ttyd1 "/usr/libexec/getty std.9600" unknown off secure
|
||||
ttyd5</programlisting>
|
||||
</sect3>
|
||||
<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
|
||||
<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>
|
||||
|
||||
<programlisting>ttyd1<co
|
||||
id="co-ttys-line1col1"> "/usr/libexec/getty std.38400"<co
|
||||
id="co-ttys-line1col2"> wy50<co
|
||||
id="co-ttys-line1col3"> on<co
|
||||
id="co-ttys-line1col4"> insecure<co
|
||||
id="co-ttys-line1col5">
|
||||
ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure
|
||||
</programlisting>
|
||||
|
||||
<sect3 id="term-getty">
|
||||
<title>Specifying the <replaceable>getty</replaceable> Type</title>
|
||||
<calloutlist>
|
||||
<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>
|
||||
</callout>
|
||||
<callout arearefs="co-ttys-line1col2">
|
||||
|
||||
<para>Next, we need to specify what program will be run to handle the
|
||||
logins on a terminal. For FreeBSD, the standard program to do that
|
||||
is <filename>/usr/libexec/getty</filename>. It is what provides the
|
||||
<prompt>login:</prompt> prompt.</para>
|
||||
<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>
|
||||
|
||||
<para>The <command>getty</command> program accepts one
|
||||
(optional) parameter on its command line, the
|
||||
<replaceable>getty</replaceable> type. A
|
||||
<replaceable>getty</replaceable> type tells about
|
||||
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>
|
||||
|
||||
<para>When setting the <replaceable>getty</replaceable>
|
||||
type in the <filename>/etc/ttys</filename> file, make
|
||||
sure that the communications settings on the terminal
|
||||
match.</para>
|
||||
|
||||
<para>The program <command>getty</command> takes one (optional)
|
||||
parameter on its command line, the <replaceable>getty</replaceable>
|
||||
type. A <replaceable>getty</replaceable> type tells about
|
||||
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>
|
||||
|
||||
<para>When setting the <replaceable>getty</replaceable> type in the
|
||||
<filename>/etc/ttys</filename> file, make sure that the
|
||||
communications settings on the terminal match.</para>
|
||||
|
||||
<para>For our example, the Wyse-50 uses no parity and connects at
|
||||
38400 bps. The 286 PC uses no parity and connects at 19200 bps.
|
||||
Here is the <filename>/etc/ttys</filename> file so far (showing just
|
||||
the two terminals in which we are interested):</para>
|
||||
<para>For our example, the Wyse-50 uses no parity and
|
||||
connects at 38400 bps. The 286 PC uses no parity and
|
||||
connects at 19200 bps.</para>
|
||||
|
||||
<programlisting>ttyd1 "/usr/libexec/getty std.38400" unknown off secure
|
||||
ttyd5 "/usr/libexec/getty std.19200"</programlisting>
|
||||
</callout>
|
||||
|
||||
<para>Note that the second field—where we specify what program
|
||||
to run—appears in quotes. This is important, otherwise the
|
||||
type argument to <command>getty</command> might be interpreted as
|
||||
the next field.</para>
|
||||
</sect3>
|
||||
|
||||
<sect3 id="term-deftermtype">
|
||||
<title>Specifying the Default Terminal Type</title>
|
||||
<callout arearefs="co-ttys-line1col3">
|
||||
|
||||
<para>The third field in the <filename>/etc/ttys</filename> file lists
|
||||
the default terminal type for the port. For dial-up ports, you
|
||||
typically put <literal>unknown</literal> or
|
||||
<literal>dialup</literal> in this field because users may dial up
|
||||
with practically any kind of terminal or software. For hardwired
|
||||
terminals, the terminal type does not change, so you can put a real
|
||||
terminal type in this field.</para>
|
||||
<para>The third field is the type of terminal usually
|
||||
connected to that tty 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>
|
||||
|
||||
<para>Users will usually use the <command>tset</command> program in
|
||||
their <filename>.login</filename> or <filename>.profile</filename>
|
||||
files to check the terminal type and prompt for one if necessary.
|
||||
By setting a terminal type in the <filename>/etc/ttys</filename>
|
||||
file, users can forego such prompting.</para>
|
||||
<para>For our 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>
|
||||
|
||||
<indexterm><primary>termcap</primary></indexterm>
|
||||
<para>To find out what terminal types FreeBSD supports, see the
|
||||
file <filename>/usr/share/misc/termcap</filename>. It lists
|
||||
about 600 terminal types. You can add more if you wish. See
|
||||
the &man.termcap.5; manual page for information.</para>
|
||||
</callout>
|
||||
|
||||
<para>In our example, the Wyse-50 is a Wyse-50 type of terminal
|
||||
(although it can emulate others, we will leave it in Wyse-50 mode).
|
||||
The 286 PC is running Procomm which will be set to emulate a VT-100.
|
||||
Here are the pertinent yet unfinished entries from the
|
||||
<filename>/etc/ttys</filename> file:</para>
|
||||
<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>
|
||||
</callout>
|
||||
|
||||
<programlisting>ttyd1 "/usr/libexec/getty std.38400" wy50 off secure
|
||||
ttyd5 "/usr/libexec/getty std.19200" vt100</programlisting>
|
||||
</sect3>
|
||||
|
||||
<sect3 id="term-enable">
|
||||
<title>Enabling the Port</title>
|
||||
<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>The fourth field in <filename>/etc/ttys</filename>
|
||||
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>, which will prompt for a login. If you put
|
||||
<literal>off</literal> in the fourth field, there will be no
|
||||
<command>getty</command>, and hence no logins on the port.</para>
|
||||
|
||||
<para>So, naturally, you want an <literal>on</literal> in this field.
|
||||
Here again is the <filename>/etc/ttys</filename> file. We have
|
||||
turned each port <literal>on</literal>.</para>
|
||||
|
||||
<programlisting>ttyd1 "/usr/libexec/getty std.38400" wy50 on secure
|
||||
ttyd5 "/usr/libexec/getty std.19200" vt100 on</programlisting>
|
||||
</sect3>
|
||||
|
||||
<sect3 id="term-secure">
|
||||
<title>Specifying Secure Ports</title>
|
||||
|
||||
<para>We have arrived at the last field (well, almost: there is an
|
||||
optional <literal>window</literal> specifier, but we will ignore
|
||||
that). The last field tells whether the port is secure.</para>
|
||||
|
||||
<para>Marking a port as secure means that you trust it enough
|
||||
to allow the 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 similar 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 &man.su.1;
|
||||
if you need superuser privileges.</para>
|
||||
|
||||
|
||||
<para>Here finally are the completed entries in the
|
||||
<filename>/etc/ttys</filename> file, with comments added to describe
|
||||
where the terminals are:</para>
|
||||
|
||||
<programlisting>ttyd1 "/usr/libexec/getty std.38400" wy50 on insecure # Kitchen
|
||||
ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Guest bathroom</programlisting>
|
||||
</sect3>
|
||||
<para>It is highly recommended that you use "insecure"
|
||||
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>
|
||||
</callout>
|
||||
</calloutlist>
|
||||
</example>
|
||||
|
||||
<sect3 id="term-hup">
|
||||
<title>Force <command>init</command> to Reread
|
||||
|
@ -871,7 +818,7 @@ ttyd5 "/usr/libexec/getty std.19200" vt100 on insecure # Guest bathroom</pro
|
|||
</sect2>
|
||||
|
||||
<sect2 id="term-debug">
|
||||
<title>Debugging your connection</title>
|
||||
<title>Troubleshooting your connection</title>
|
||||
|
||||
<para>Even with the most meticulous attention to detail, something could
|
||||
still go wrong while setting up a terminal. Here is a list of
|
||||
|
@ -1246,7 +1193,7 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\
|
|||
</indexterm>
|
||||
|
||||
<para>Configuration of the <filename>/etc/ttys</filename> file
|
||||
was covered in the last section for configuring terminals.
|
||||
was covered in <xref linkend="ex-etc-ttys">.
|
||||
Configuration for modems is similar but we must pass a
|
||||
different argument to <command>getty</command> and specify a
|
||||
different terminal type. The general format for both
|
||||
|
@ -1538,7 +1485,7 @@ AT&B2&W</programlisting>
|
|||
|
||||
<para>If you do not see any <command>getty</command> processes waiting
|
||||
to open the desired
|
||||
<filename>ttyd<replaceable>?</replaceable></filename> port,
|
||||
<filename>ttyd<replaceable>N</replaceable></filename> port,
|
||||
double-check your entries in <filename>/etc/ttys</filename> to see
|
||||
if there are any mistakes there. Also, check the log file
|
||||
<filename>/var/log/messages</filename> to see if there are any log
|
||||
|
@ -1546,7 +1493,7 @@ AT&B2&W</programlisting>
|
|||
regarding any problems. If there are any messages, triple-check the
|
||||
configuration files <filename>/etc/ttys</filename> and
|
||||
<filename>/etc/gettytab</filename>, as well as the appropriate
|
||||
device special files <filename>/dev/ttyd?</filename>, for any
|
||||
device special files <filename>/dev/ttydN</filename>, for any
|
||||
mistakes, missing entries, or missing device special files.</para>
|
||||
</sect3>
|
||||
|
||||
|
@ -2043,7 +1990,7 @@ raisechar=^^</programlisting>
|
|||
another higher priority console), regardless of the
|
||||
<option>-h</option> option discussed below. This flag
|
||||
replaces the <literal>COMCONSOLE</literal> option in FreeBSD
|
||||
versions 2.X. The flag <literal>0x20</literal> must be used
|
||||
versions 2.<replaceable>X</replaceable>. The flag <literal>0x20</literal> must be used
|
||||
together with the <option>0x10</option> flag.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
|
Loading…
Reference in a new issue