Date: Mon, 28 Jan 2013 15:15:46 +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: r40783 - head/en_US.ISO8859-1/books/handbook/serialcomms Message-ID: <201301281515.r0SFFkvV014072@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dru Date: Mon Jan 28 15:15:46 2013 New Revision: 40783 URL: http://svnweb.freebsd.org/changeset/doc/40783 Log: White space fix only. Translators can ignore. 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 Mon Jan 28 15:14:36 2013 (r40782) +++ head/en_US.ISO8859-1/books/handbook/serialcomms/chapter.xml Mon Jan 28 15:15:46 2013 (r40783) @@ -13,12 +13,13 @@ <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. 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>After reading this chapter, you will know:</para> @@ -52,9 +53,9 @@ linkend="basics"/>).</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> + <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> </listitem> </itemizedlist> </sect1> @@ -103,7 +104,8 @@ <listitem> <indexterm><primary>DCE</primary></indexterm> - <para>Data Communications Equipment — your modem</para> + <para>Data Communications Equipment — your + modem</para> </listitem> </varlistentry> @@ -113,7 +115,8 @@ <listitem> <indexterm><primary>RS-232C cables</primary></indexterm> - <para>EIA standard for hardware serial communications</para> + <para>EIA standard for hardware serial + communications</para> </listitem> </varlistentry> </variablelist> @@ -122,18 +125,18 @@ 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> + the <emphasis>correct</emphasis> term to use (at least it does + not seem to bother the curmudgeons quite as much).</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> + 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> <sect3 id="term-cables"> <title>Cables</title> @@ -141,8 +144,8 @@ <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> + documentation for your hardware should describe the type of + cable required.</para> <sect4 id="term-cables-null"> <title>Null-modem Cables</title> @@ -152,20 +155,21 @@ </indexterm> <para>A null-modem cable passes some signals, such as - <quote>Signal Ground</quote>, straight through, but switches other - signals. For example, the <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> + <quote>Signal Ground</quote>, straight through, but + switches other signals. For example, the + <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> <table frame="none" pgwide="1"> <title>DB-25 to DB-25 Null-Modem Cable</title> @@ -257,7 +261,8 @@ </tgroup> </table> - <para>Here are two other schemes more common nowadays.</para> + <para>Here are two other schemes more common + nowadays.</para> <table frame="none" pgwide="1"> <title>DB-9 to DB-9 Null-Modem Cable</title> @@ -441,87 +446,92 @@ <note> <para>When one pin at one end connects to a pair of pins - at the other end, it is usually implemented with one short - wire between the pair of pins in their connector and a - long wire to the other single pin.</para> + at the other end, it is usually implemented with one + short wire between the pair of pins in their connector + 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 vice-versa.</para> + <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 + vice-versa.</para> </sect4> <sect4 id="term-cables-std"> <title>Standard RS-232C Cables</title> + <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 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 terminals.</para> + <para>A standard serial cable passes all of the RS-232C + signals straight through. That is, 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 + terminals.</para> </sect4> </sect3> <sect3 id="term-ports"> <title>Ports</title> - <para>Serial ports are the devices through which data is transferred - between the FreeBSD host computer and the terminal. This section - describes the kinds of ports that exist and how they are addressed - in FreeBSD.</para> + <para>Serial ports are the devices through which data is + transferred between the FreeBSD host computer and the + terminal. This section describes the kinds of ports that + exist and how they are addressed in FreeBSD.</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 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>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> + <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 + 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>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> </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 FreeBSD, you access each serial port through an + entry in the <filename>/dev</filename> directory. 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, 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> </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> + 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> </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 terminal. If - the terminal is on the second serial port (also known as - <devicename>COM2</devicename>), use + <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 + terminal. If the terminal is on the second serial port + (also known as <devicename>COM2</devicename>), use <filename>/dev/ttyu1</filename>, and so forth.</para> </sect4> @@ -540,27 +550,28 @@ <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> + 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> + <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> <tip><para>To view just the messages that have the word - <literal>uart</literal> or <literal>sio</literal> depending on the - installed version of &os;, use the commands:</para> + <literal>uart</literal> or <literal>sio</literal> depending + on the installed version of &os;, use the commands:</para> <screen>&prompt.root; <userinput>/sbin/dmesg | grep 'uart'</userinput> &prompt.root; <userinput>/sbin/dmesg | grep 'sio'</userinput></screen> </tip> <para>For example, on a &os; 7.<replaceable>X</replaceable> - system with four serial ports, these are the serial-port specific - kernel boot messages:</para> + system with four serial ports, these are the serial-port + specific kernel boot messages:</para> <screen>sio0 at 0x3f8-0x3ff irq 4 on isa sio0: type 16550A @@ -574,28 +585,28 @@ 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> + 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 + 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> + FreeBSD because the device flags and the syntax 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 on-board electronics that allow all the - 16550A's on the board to share one or two interrupt request - lines).</para> + <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 + on-board electronics that allow all the 16550A's on the + board to share one or two interrupt request lines).</para> </note> </sect2> @@ -603,27 +614,29 @@ sio3: type 16550A</screen> <sect2> <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 <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 devices - (<filename>/dev/ttyu<replaceable>N</replaceable>.init</filename> and + <para>Most devices in the kernel are accessed through + <quote>device special files</quote>, which are located in the + <filename>/dev</filename> directory. 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 + devices + (<filename>/dev/ttyu<replaceable>N</replaceable>.init</filename> + and <filename>/dev/cuau<replaceable>N</replaceable>.init</filename>) + and locking devices + (<filename>/dev/ttyu<replaceable>N</replaceable>.lock</filename> and - locking devices - (<filename>/dev/ttyu<replaceable>N</replaceable>.lock</filename> and <filename>/dev/cuau<replaceable>N</replaceable>.lock</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 - <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 + 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 + <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 devices, and setting terminal options, respectively.</para> </sect2> @@ -632,49 +645,53 @@ sio3: type 16550A</screen> <sect2 id="serial-hw-config"> <title>Serial Port Configuration</title> - <indexterm><primary><devicename>ttyu</devicename></primary></indexterm> - <indexterm><primary><devicename>cuau</devicename></primary></indexterm> + <indexterm><primary><devicename>ttyu</devicename></primary></indexterm> + <indexterm><primary><devicename>cuau</devicename></primary></indexterm> - <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> - - <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 <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 - <devicename>ttyu5</devicename>, type:</para> + <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> + + <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 + <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 + <devicename>ttyu5</devicename>, type:</para> <screen>&prompt.root; <userinput>stty -f /dev/ttyu5.init clocal cs8 ixon ixoff</userinput></screen> - <indexterm> - <primary>rc files</primary> - <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 file - affects the default settings of serial devices.</para> - - <para>To prevent certain settings from being changed by an - application, make adjustments to the <quote>lock state</quote> - device. For example, to lock the speed of - <devicename>ttyu5</devicename> to 57600 bps, type:</para> + <indexterm> + <primary>rc files</primary> + <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 + file affects the default settings of serial devices.</para> + + <para>To prevent certain settings from being changed by an + application, make adjustments to the <quote>lock state</quote> + device. For example, to lock the speed of + <devicename>ttyu5</devicename> to 57600 bps, type:</para> <screen>&prompt.root; <userinput>stty -f /dev/ttyu5.lock 57600</userinput></screen> - <para>Now, an application that opens - <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>Now, an application that opens + <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> </sect2> </sect1> @@ -706,33 +723,35 @@ sio3: type 16550A</screen> <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> + 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> <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>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> @@ -742,7 +761,8 @@ sio3: type 16550A</screen> </listitem> <listitem> - <para><link linkend="term-pcs">PCs acting as terminals</link></para> + <para><link linkend="term-pcs">PCs acting as + terminals</link></para> </listitem> <listitem> @@ -755,39 +775,41 @@ sio3: type 16550A</screen> <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 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> - - <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> + <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 + 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> + + <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> </sect3> <sect3 id="term-pcs"> <title>PCs 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> + <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> <para>There are at least two utilities in the base-system of &os; that can be used to work through a serial connection: @@ -807,19 +829,19 @@ sio3: type 16550A</screen> port number.</para> <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 + <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 <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 role="package">comms/minicom</filename>.</para> + 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 + role="package">comms/minicom</filename>.</para> </note> </sect3> @@ -827,23 +849,26 @@ sio3: type 16550A</screen> <title>X Terminals</title> <para>X terminals are the most sophisticated kind of terminal - available. Instead of connecting to a serial port, they usually - connect to a network like Ethernet. Instead of 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> + available. Instead of connecting to a serial port, they + usually connect to a network like Ethernet. Instead of + 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> </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>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 @@ -856,18 +881,19 @@ sio3: type 16550A</screen> program.</para> <para>Thus, to configure terminals for your FreeBSD system the - following steps should be taken as <username>root</username>:</para> + 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> + <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> <step> - <para>Specify that <command>/usr/libexec/getty</command> be run on - the port, and specify the appropriate + <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> </step> @@ -892,31 +918,34 @@ sio3: type 16550A</screen> </procedure> <para>As an optional step, you may wish to 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> + <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> <sect3 id="term-etcttys"> - <title>Adding an Entry to <filename>/etc/ttys</filename></title> + <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>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, <filename>/dev/ttyv0</filename> would be listed as <devicename>ttyv0</devicename>).</para> <para>A default FreeBSD install includes an - <filename>/etc/ttys</filename> file 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> + <filename>/etc/ttys</filename> file 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> <example id="ex-etc-ttys"> <title>Adding Terminal Entries to @@ -937,14 +966,13 @@ sio3: type 16550A</screen> id="co-ttys-line1col3"/> on<co id="co-ttys-line1col4"/> insecure<co id="co-ttys-line1col5"/> -ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure - </programlisting> +ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure</programlisting> <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> + the terminal special file as it is found in + <filename>/dev</filename>.</para> </callout> <callout arearefs="co-ttys-line1col2"> @@ -959,18 +987,18 @@ ttyu5 "/usr/libexec/getty std.19200" <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 + 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. + 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 + own entries to this file. The &man.gettytab.5; manual page provides more information.</para> <para>When setting the <replaceable>getty</replaceable> @@ -979,8 +1007,8 @@ ttyu5 "/usr/libexec/getty std.19200" 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.</para> + connects at 38400 bps. The 286 PC uses no + parity and connects at 19200 bps.</para> </callout> <callout arearefs="co-ttys-line1col3"> @@ -1038,13 +1066,15 @@ ttyu5 "/usr/libexec/getty std.19200" <para>After making the necessary changes to the <filename>/etc/ttys</filename> file you should 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. For + example:</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> + <para><command>init</command> is always the first process + run on a system, therefore it will always have PID + 1.</para> </note> <para>If everything is set up correctly, all cables are in @@ -1058,31 +1088,31 @@ ttyu5 "/usr/libexec/getty std.19200" <sect2 id="term-debug"> <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 - symptoms and some suggested fixes.</para> + <para>Even with the most meticulous attention to detail, + something could still go wrong while setting up a terminal. + Here is a list of symptoms and some suggested fixes.</para> <sect3> <title>No Login Prompt Appears</title> - <para>Make sure the terminal is plugged in and powered up. If it - is a personal computer acting as a terminal, make sure it is - running terminal emulation software on the correct serial + <para>Make sure the terminal is plugged in and powered up. If + it is a personal computer acting as a terminal, make sure it + is running terminal emulation software on the correct serial port.</para> - <para>Make sure the cable is connected firmly to both the terminal - and the FreeBSD computer. Make sure it is the right kind of - cable.</para> - - <para>Make sure the terminal and FreeBSD agree on the bps rate and - parity settings. If you have a video display terminal, make - sure the contrast and brightness controls are turned up. If it - is a printing terminal, make sure paper and ink are in good - supply.</para> - - <para>Make sure that a <command>getty</command> process is running - and serving the terminal. For example, to get a list of - running <command>getty</command> processes with + <para>Make sure the cable is connected firmly to both the + terminal and the FreeBSD computer. Make sure it is the + right kind of cable.</para> + + <para>Make sure the terminal and FreeBSD agree on the bps rate + and parity settings. If you have a video display terminal, + make sure the contrast and brightness controls are turned + up. If it is a printing terminal, make sure paper and ink + are in good supply.</para> + + <para>Make sure that a <command>getty</command> process is + running and serving the terminal. For example, to get a + list of running <command>getty</command> processes with <command>ps</command>, type:</para> <screen>&prompt.root; <userinput>ps -axww|grep getty</userinput></screen> @@ -1096,24 +1126,25 @@ ttyu5 "/usr/libexec/getty std.19200" <screen>22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyu1</screen> - <para>If no <command>getty</command> process is running, make sure - you have enabled the port in <filename>/etc/ttys</filename>. - Also remember to run <command>kill -HUP 1</command> - after modifying the <filename>ttys</filename> file.</para> + <para>If no <command>getty</command> process is running, make + sure you have enabled the port in + <filename>/etc/ttys</filename>. Also remember to run + <command>kill -HUP 1</command> after modifying the + <filename>ttys</filename> file.</para> <para>If the <command>getty</command> process is running but the terminal still does not display a login prompt, or if it displays a prompt but will not allow you to type, your terminal or cable may not support hardware - handshaking. Try changing the entry in + handshaking. Try changing the entry in <filename>/etc/ttys</filename> from <literal>std.38400</literal> to <literal>3wire.38400</literal> (remember to run <command>kill -HUP 1</command> after modifying - <filename>/etc/ttys</filename>). The + <filename>/etc/ttys</filename>). The <literal>3wire</literal> entry is similar to <literal>std</literal>, but ignores hardware - handshaking. You may need to reduce the baud rate or + handshaking. You may need to reduce the baud rate or enable software flow control when using <literal>3wire</literal> to prevent buffer overflows.</para> @@ -1123,12 +1154,12 @@ ttyu5 "/usr/libexec/getty std.19200" <sect3> <title>If Garbage Appears Instead of a Login Prompt</title> - <para>Make sure the terminal and FreeBSD agree on the bps rate and - parity settings. Check the <command>getty</command> processes - to make sure the - correct <replaceable>getty</replaceable> type is in use. If - not, edit <filename>/etc/ttys</filename> and run <command>kill - -HUP 1</command>.</para> + <para>Make sure the terminal and FreeBSD agree on the bps rate + and parity settings. Check the <command>getty</command> + processes to make sure the correct + <replaceable>getty</replaceable> type is in use. If not, + edit <filename>/etc/ttys</filename> and run <command>kill + -HUP 1</command>.</para> </sect3> @@ -1137,8 +1168,8 @@ ttyu5 "/usr/libexec/getty std.19200" Typed</title> <para>Switch the terminal (or the terminal emulation software) - from <quote>half duplex</quote> or <quote>local echo</quote> to - <quote>full duplex.</quote></para> + from <quote>half duplex</quote> or <quote>local echo</quote> + to <quote>full duplex.</quote></para> </sect3> </sect2> @@ -1181,24 +1212,26 @@ ttyu5 "/usr/libexec/getty std.19200" similar to connecting terminals except that you are dealing with modems instead of terminals.</para> - <sect2> - <title>External Versus Internal Modems</title> + <sect2> + <title>External Versus Internal Modems</title> - <para>External modems seem to be more convenient for dial-up, because - external modems often can be semi-permanently configured via - parameters stored in non-volatile RAM and they usually provide - lighted indicators that display the state of important RS-232 - signals. Blinking lights impress visitors, but lights are also very - useful to see whether a modem is operating properly.</para> - - <para>Internal modems usually lack non-volatile RAM, so their - configuration may be limited only to setting DIP switches. If your - internal modem has any signal indicator lights, it is probably - difficult to view the lights when the system's cover is in - place.</para> + <para>External modems seem to be more convenient for dial-up, + because external modems often can be semi-permanently + configured via parameters stored in non-volatile RAM and they + usually provide lighted indicators that display the state of + important RS-232 signals. Blinking lights impress visitors, + but lights are also very useful to see whether a modem is + operating properly.</para> + + <para>Internal modems usually lack non-volatile RAM, so their + configuration may be limited only to setting DIP switches. + If your internal modem has any signal indicator lights, it is + probably difficult to view the lights when the system's cover + is in place.</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?201301281515.r0SFFkvV014072>