Date: Wed, 27 Feb 2013 20:38:17 +0000 (UTC) From: Dru Lavigne <dru@FreeBSD.org> To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r41052 - head/en_US.ISO8859-1/books/handbook/serialcomms Message-ID: <201302272038.r1RKcHQb095379@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201302272038.r1RKcHQb095379>