diff --git a/en_US.ISO8859-1/books/handbook/serialcomms/chapter.xml b/en_US.ISO8859-1/books/handbook/serialcomms/chapter.xml
index 5dc07269b4..0bba8ba883 100644
--- a/en_US.ISO8859-1/books/handbook/serialcomms/chapter.xml
+++ b/en_US.ISO8859-1/books/handbook/serialcomms/chapter.xml
@@ -13,12 +13,13 @@
serial communications
- &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
- terminal 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.
+ &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 terminal 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.After reading this chapter, you will know:
@@ -52,9 +53,9 @@
linkend="basics"/>).
- Have access to the technical manual for the serial hardware
- (modem or multi-port card) that you would like to use with
- FreeBSD.
+ Have access to the technical manual for the serial
+ hardware (modem or multi-port card) that you would like to
+ use with FreeBSD.
@@ -103,7 +104,8 @@
DCE
- Data Communications Equipment — your modem
+ Data Communications Equipment — your
+ modem
@@ -113,7 +115,8 @@
RS-232C cables
- EIA standard for hardware serial communications
+ EIA standard for hardware serial
+ communications
@@ -122,18 +125,18 @@
does not use the term baud. Baud refers to the
number of electrical state transitions that may be made in a
period of time, while bps (bits per second) is
- the correct term to use (at least it does not
- seem to bother the curmudgeons quite as much).
+ the correct term to use (at least it does
+ not seem to bother the curmudgeons quite as much).
Cables and PortsTo 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.
+ 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.
Cables
@@ -141,8 +144,8 @@
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.
+ documentation for your hardware should describe the type of
+ cable required.
Null-modem Cables
@@ -152,20 +155,21 @@
A null-modem cable passes some signals, such as
- Signal Ground, straight through, but switches other
- signals. For example, the Transmitted Data pin on
- one end goes to the Received Data pin on the other
- end.
+ Signal Ground, straight through, but
+ switches other signals. For example, the
+ Transmitted Data pin on one end goes to the
+ Received Data pin on the other end.
- You can also construct your own null-modem cable for use with
- terminals (e.g., for quality purposes). This table shows the
- RS-232C signals
- and the pin numbers on a DB-25 connector. Note that the standard
- also calls for a straight-through pin 1 to pin 1
- Protective Ground 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.
+ You can also construct your own null-modem cable for
+ use with terminals (e.g., for quality purposes). This
+ table shows the RS-232C signals
+ and the pin numbers on a DB-25 connector. Note that the
+ standard also calls for a straight-through pin 1 to pin 1
+ Protective Ground 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.
DB-25 to DB-25 Null-Modem Cable
@@ -257,7 +261,8 @@
- Here are two other schemes more common nowadays.
+ Here are two other schemes more common
+ nowadays.
DB-9 to DB-9 Null-Modem Cable
@@ -441,87 +446,92 @@
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.
+ 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.
- The above designs seems to be the most popular. In another
- variation (explained in the book RS-232 Made
- Easy) SG connects to SG, TD connects to RD, RTS and
- CTS connect to DCD, DTR connects to DSR, and vice-versa.
+ The above designs seems to be the most popular. In
+ another variation (explained in the book RS-232
+ Made Easy) SG connects to SG, TD connects to
+ RD, RTS and CTS connect to DCD, DTR connects to DSR, and
+ vice-versa.Standard RS-232C Cables
+
RS-232C cables
- A standard serial cable passes all of the RS-232C signals
- straight through. That is, the Transmitted Data
- pin on one end of the cable goes to the
- Transmitted Data 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.
+ A standard serial cable passes all of the RS-232C
+ signals straight through. That is, the Transmitted
+ Data pin on one end of the cable goes to the
+ Transmitted Data 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.Ports
- 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.
+ 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.Kinds of Ports
- 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.
+ 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.
- 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.
+ 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.
- 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.
+ 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.Port Names
- In FreeBSD, you access each serial port through an entry in
- the /dev directory. There are two different
- kinds of entries:
+ In FreeBSD, you access each serial port through an
+ entry in the /dev directory. There
+ are two different kinds of entries:Call-in ports are named
/dev/ttyuN
where N 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.
+ 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.
Call-out ports are named
/dev/cuauN.
- 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.
+ 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.
- If you have connected a terminal to the first serial port
- (COM1 in &ms-dos;), then you will
- use /dev/ttyu0 to refer to the terminal. If
- the terminal is on the second serial port (also known as
- COM2), use
+ If you have connected a terminal to the first serial
+ port(COM1 in &ms-dos;), then you
+ will use /dev/ttyu0 to refer to the
+ terminal. If the terminal is on the second serial port
+ (also known as COM2), use
/dev/ttyu1, and so forth.
@@ -540,27 +550,28 @@
dumb 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.
+ and Stallion Technologies. However, the default kernel only
+ looks for the standard COM ports.
- To see if your kernel recognizes any of your serial ports, watch
- for messages while the kernel is booting, or use the
- /sbin/dmesg command to replay the kernel's boot
- messages. In particular, look for messages that start with the
- characters uart if you use &os; 8.0 or
- higher, or sio for &os; 7.4 or older.
+ To see if your kernel recognizes any of your serial ports,
+ watch for messages while the kernel is booting, or use the
+ /sbin/dmesg command to replay the kernel's
+ boot messages. In particular, look for messages that start
+ with the characters uart if you use
+ &os; 8.0 or higher, or sio for
+ &os; 7.4 or older.To view just the messages that have the word
- uart or sio depending on the
- installed version of &os;, use the commands:
+ uart or sio depending
+ on the installed version of &os;, use the commands:
&prompt.root; /sbin/dmesg | grep 'uart'
&prompt.root; /sbin/dmesg | grep 'sio'For example, on a &os; 7.X
- system with four serial ports, these are the serial-port specific
- kernel boot messages:
+ system with four serial ports, these are the serial-port
+ specific kernel boot messages:
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
@@ -574,28 +585,28 @@ sio3: type 16550AIf your kernel does not recognize all of your serial
ports, you will probably need to configure your kernel
in the /boot/device.hints file. You can
- also comment-out or completely remove lines for devices you do not
- have.
+ also comment-out or completely remove lines for devices you
+ do not have.
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.
+ FreeBSD because the device flags and the syntax have changed
+ between versions.
port IO_COM1 is a substitution for
port 0x3f8, IO_COM2 is
0x2f8, IO_COM3 is
0x3e8, and IO_COM4 is
- 0x2e8, 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
- cannot 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).
+ 0x2e8, 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 cannot
+ 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).
@@ -603,27 +614,29 @@ sio3: type 16550A
Device Special Files
- Most devices in the kernel are accessed through device
- special files, which are located in the
- /dev directory. The sio
- devices are accessed through the
- /dev/ttyuN (dial-in)
- and /dev/cuauN
- (call-out) devices. FreeBSD also provides initialization devices
- (/dev/ttyuN.init and
- /dev/cuauN.init)
+ Most devices in the kernel are accessed through
+ device special files, which are located in the
+ /dev directory. The
+ sio devices are accessed through the
+ /dev/ttyuN
+ (dial-in) and
+ /dev/cuauN
+ (call-out) devices. FreeBSD also provides initialization
+ devices
+ (/dev/ttyuN.init
+ and
+ /dev/cuauN.init)
+ and locking devices
+ (/dev/ttyuN.lock
and
- locking devices
- (/dev/ttyuN.lock and
/dev/cuauN.lock).
- The
- initialization devices are used to initialize communications port
- parameters each time a port is opened, such as
- crtscts for modems which use
- RTS/CTS 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 crtscts for modems which use
+ RTS/CTS 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.
@@ -632,49 +645,53 @@ sio3: type 16550A
Serial Port Configuration
- ttyu
- cuau
+ ttyu
+ cuau
- The ttyuN (or
- cuauN) 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
+ The
+ ttyuN (or
+ cuauN)
+ 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
- &prompt.root; stty -a -f /dev/ttyu1
+ &prompt.root; stty -a -f /dev/ttyu1
- 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 initial state device. For
- example, to turn on mode, 8 bit communication,
- and flow control by default for
- ttyu5, type:
+ 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
+ initial state device. For example, to turn on
+ mode, 8 bit communication, and
+ flow control by default for
+ ttyu5, type:&prompt.root; stty -f /dev/ttyu5.init clocal cs8 ixon ixoff
-
- rc files
- rc.serial
-
+
+ rc files
+ rc.serial
+
- System-wide initialization of the serial devices is
- controlled in /etc/rc.d/serial. This file
- affects the default settings of serial devices.
+ System-wide initialization of the serial devices is
+ controlled in /etc/rc.d/serial. This
+ file affects the default settings of serial devices.
- To prevent certain settings from being changed by an
- application, make adjustments to the lock state
- device. For example, to lock the speed of
- ttyu5 to 57600 bps, type:
+ To prevent certain settings from being changed by an
+ application, make adjustments to the lock state
+ device. For example, to lock the speed of
+ ttyu5 to 57600 bps, type:&prompt.root; stty -f /dev/ttyu5.lock 57600
- Now, an application that opens
- ttyu5 and tries to change the speed of
- the port will be stuck with 57600 bps.
+ Now, an application that opens
+ ttyu5 and tries to change the speed
+ of the port will be stuck with 57600 bps.
- Naturally, you should make the initial state and lock state devices
- writable only by the root account.
+ Naturally, you should make the initial state and lock
+ state devices writable only by the root
+ account.
@@ -706,33 +723,35 @@ sio3: type 16550A
terminalsTerminals 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.
+ 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.
Uses and Types of Terminals
- 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.
+ 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.
- 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 xterm window in the X Window
- System.
+ 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 xterm window in the X
+ Window System.
- 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.
+ 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.For FreeBSD, there are three kinds of terminals:
@@ -742,7 +761,8 @@ sio3: type 16550A
- PCs acting as terminals
+ PCs acting as
+ terminals
@@ -755,39 +775,41 @@ sio3: type 16550A
Dumb Terminals
- Dumb terminals are specialized pieces of hardware that let you
- connect to computers over serial lines. They are called
- dumb 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.
+ Dumb terminals are specialized pieces of hardware that
+ let you connect to computers over serial lines. They are
+ called dumb 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.
- 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.
+ 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.
- 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.
+ 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.PCs Acting as Terminals
- If a dumb terminal 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 terminal emulation
- software to run on the computer.
+ If a dumb terminal 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
+ terminal emulation software to run on
+ the computer.
- 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.
+ 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.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
port number.
- 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
- COM1 is usually
+ 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 COM1 is usually
/dev/cuau0 in &os;.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., comms/minicom.
+ 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., comms/minicom.
@@ -827,23 +849,26 @@ sio3: type 16550A
X TerminalsX 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.
+ 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.
- We introduce X terminals just for the sake of completeness.
- However, this chapter does not cover setup,
- configuration, or use of X terminals.
+ We introduce X terminals just for the sake of
+ completeness. However, this chapter does
+ not cover setup, configuration, or use
+ of X terminals.Configuration
- 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.
+ 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.Recall from that the
init process is responsible for all process
@@ -856,18 +881,19 @@ sio3: type 16550A
program.Thus, to configure terminals for your FreeBSD system the
- following steps should be taken as root:
+ following steps should be taken as
+ root:
- Add a line to /etc/ttys for the entry in
- the /dev directory for the serial port if it
- is not already there.
+ Add a line to /etc/ttys for the
+ entry in the /dev directory for the
+ serial port if it is not already there.
- Specify that /usr/libexec/getty be run on
- the port, and specify the appropriate
+ Specify that /usr/libexec/getty
+ be run on the port, and specify the appropriate
getty type from the
/etc/gettytab file.
@@ -892,31 +918,34 @@ sio3: type 16550A
As an optional step, you may wish to create a custom
- getty type for use in step 2 by making an
- entry in /etc/gettytab. 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.
+ getty type for use in step 2 by
+ making an entry in /etc/gettytab. 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.
- Adding an Entry to /etc/ttys
+ Adding an Entry to
+ /etc/ttys
- The /etc/ttys file lists all of the ports
- on your FreeBSD system where you want to allow logins. For example,
- the first virtual console ttyv0 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 /dev entry without the
- /dev part (for example,
+ The /etc/ttys file lists all of the
+ ports on your FreeBSD system where you want to allow logins.
+ For example, the first virtual console
+ ttyv0 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 /dev entry
+ without the /dev part (for example,
/dev/ttyv0 would be listed as
ttyv0).A default FreeBSD install includes an
- /etc/ttys file with support for the first
- four serial ports: ttyu0 through
- ttyu3. If you are attaching a terminal
- to one of those ports, you do not need to add another entry.
+ /etc/ttys file with support for the
+ first four serial ports: ttyu0
+ through ttyu3. If you are
+ attaching a terminal to one of those ports, you do not need
+ to add another entry.Adding Terminal Entries to
@@ -937,14 +966,13 @@ sio3: type 16550A
id="co-ttys-line1col3"/> on insecure
-ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
-
+ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
The first field normally specifies the name of
- the terminal special file as it is found in
- /dev.
+ the terminal special file as it is found in
+ /dev.
@@ -959,18 +987,18 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
getty type. A
getty type configures
characteristics on the terminal line, like bps rate
- and parity. The getty program reads
- these characteristics from the file
+ and parity. The getty program
+ reads these characteristics from the file
/etc/gettytab.
The file /etc/gettytab
contains lots of entries for terminal lines both old
and new. In almost all cases, the entries that start
with the text std will work for
- hardwired terminals. These entries ignore parity.
+ hardwired terminals. These entries ignore parity.
There is a std 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.When setting the getty
@@ -979,8 +1007,8 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
match.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.
+ connects at 38400 bps. The 286 PC uses no
+ parity and connects at 19200 bps.
@@ -1038,13 +1066,15 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
After making the necessary changes to the
/etc/ttys file you should send a SIGHUP
(hangup) signal to the init process to
- force it to re-read its configuration file. For example:
+ force it to re-read its configuration file. For
+ example:
&prompt.root; kill -HUP 1
- init is always the first process run
- on a system, therefore it will always have PID 1.
+ init is always the first process
+ run on a system, therefore it will always have PID
+ 1.If everything is set up correctly, all cables are in
@@ -1058,31 +1088,31 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
Troubleshooting Your Connection
- 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.
+ 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.No Login Prompt Appears
- 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
+ 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.
- Make sure the cable is connected firmly to both the terminal
- and the FreeBSD computer. Make sure it is the right kind of
- cable.
+ Make sure the cable is connected firmly to both the
+ terminal and the FreeBSD computer. Make sure it is the
+ right kind of cable.
- 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.
+ 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.
- Make sure that a getty process is running
- and serving the terminal. For example, to get a list of
- running getty processes with
+ Make sure that a getty process is
+ running and serving the terminal. For example, to get a
+ list of running getty processes with
ps, type:&prompt.root; ps -axww|grep getty
@@ -1096,24 +1126,25 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
22189 d1 Is+ 0:00.03 /usr/libexec/getty std.38400 ttyu1
- If no getty process is running, make sure
- you have enabled the port in /etc/ttys.
- Also remember to run kill -HUP 1
- after modifying the ttys file.
+ If no getty process is running, make
+ sure you have enabled the port in
+ /etc/ttys. Also remember to run
+ kill -HUP 1 after modifying the
+ ttys file.If the getty 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
/etc/ttys from
std.38400 to
3wire.38400 (remember to run
kill -HUP 1 after modifying
- /etc/ttys). The
+ /etc/ttys). The
3wire entry is similar to
std, 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
3wire to prevent buffer
overflows.
@@ -1123,12 +1154,12 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
If Garbage Appears Instead of a Login Prompt
- Make sure the terminal and FreeBSD agree on the bps rate and
- parity settings. Check the getty processes
- to make sure the
- correct getty type is in use. If
- not, edit /etc/ttys and run kill
- -HUP 1.
+ Make sure the terminal and FreeBSD agree on the bps rate
+ and parity settings. Check the getty
+ processes to make sure the correct
+ getty type is in use. If not,
+ edit /etc/ttys and run kill
+ -HUP 1.
@@ -1137,8 +1168,8 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
TypedSwitch the terminal (or the terminal emulation software)
- from half duplex or local echo to
- full duplex.
+ from half duplex or local echo
+ to full duplex.
@@ -1181,24 +1212,26 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
similar to connecting terminals except that you are dealing with
modems instead of terminals.
-
- External Versus Internal Modems
+
+ External Versus Internal Modems
- 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.
+ 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.
- 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.
+ 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.Modems and Cables
+
modemIf you are using an external modem, then you will of
@@ -1206,96 +1239,98 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
cable should suffice as long as all of the normal signals
are wired:
-
- Signal Names
+
+ Signal Names
-
-
-
- Acronyms
- Names
-
-
+
+
+
+ Acronyms
+ Names
+
+
-
-
- RD
- Received Data
-
+
+
+ RD
+ Received Data
+
-
- TD
- Transmitted Data
-
+
+ TD
+ Transmitted Data
+
-
- DTR
- Data Terminal Ready
-
+
+ DTR
+ Data Terminal Ready
+
-
- DSR
- Data Set Ready
-
+
+ DSR
+ Data Set Ready
+
-
- DCD
- Data Carrier Detect (RS-232's Received Line
- Signal Detector)
-
+
+ DCD
+ Data Carrier Detect (RS-232's Received Line
+ Signal Detector)
+
-
- SG
- Signal Ground
-
+
+ SG
+ Signal Ground
+
-
- RTS
- Request to Send
-
+
+ RTS
+ Request to Send
+
-
- CTS
- Clear to Send
-
-
-
-
+
+ CTS
+ Clear to Send
+
+
+
+
FreeBSD needs the RTS and
- CTS signals for flow control at speeds above
- 2400 bps, the CD signal to detect when a
- call has been answered or the line has been hung up, and the
- DTR signal to reset the modem after a session is
- complete. Some cables are wired without all of the needed signals,
- so if you have problems, such as a login session not going away when
- the line hangs up, you may have a problem with your cable.
+ CTS signals for flow control at speeds
+ above 2400 bps, the CD signal to
+ detect when a call has been answered or the line has been
+ hung up, and the DTR signal to reset the
+ modem after a session is complete. Some cables are wired
+ without all of the needed signals, so if you have problems,
+ such as a login session not going away when the line hangs
+ up, you may have a problem with your cable.
- Like other &unix; like operating systems, FreeBSD uses the
- hardware signals to find out when a call has been answered
- or a line has been hung up and to hangup and reset the modem
- after a call. FreeBSD avoids sending commands to the modem
- or watching for status reports from the modem. If you are
- familiar with connecting modems to PC-based bulletin board
- systems, this may seem awkward.
+ Like other &unix; like operating systems, FreeBSD uses
+ the hardware signals to find out when a call has been
+ answered or a line has been hung up and to hangup and reset
+ the modem after a call. FreeBSD avoids sending commands to
+ the modem or watching for status reports from the modem. If
+ you are familiar with connecting modems to PC-based bulletin
+ board systems, this may seem awkward.
-
+
-
- Serial Interface Considerations
+
+ Serial Interface Considerations
- FreeBSD supports NS8250-, NS16450-, NS16550-, and NS16550A-based
- EIA RS-232C (CCITT V.24) communications interfaces. The 8250 and
- 16450 devices have single-character buffers. The 16550 device
- provides a 16-character buffer, which allows for better system
- performance. (Bugs in plain 16550's prevent the use of the
- 16-character buffer, so use 16550A's if possible). Because
- single-character-buffer devices require more work by the operating
- system than the 16-character-buffer devices, 16550A-based serial
- interface cards are much preferred. If the system has many active
- serial ports or will have a heavy load, 16550A-based cards are
- better for low-error-rate communications.
-
+ FreeBSD supports NS8250-, NS16450-, NS16550-, and
+ NS16550A-based EIA RS-232C (CCITT V.24) communications
+ interfaces. The 8250 and 16450 devices have single-character
+ buffers. The 16550 device provides a 16-character buffer,
+ which allows for better system performance. (Bugs in plain
+ 16550's prevent the use of the 16-character buffer, so use
+ 16550A's if possible). Because single-character-buffer
+ devices require more work by the operating system than the
+ 16-character-buffer devices, 16550A-based serial interface
+ cards are much preferred. If the system has many active serial
+ ports or will have a heavy load, 16550A-based cards are better
+ for low-error-rate communications.
+ Quick Overview
@@ -1309,18 +1344,18 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
4850 ?? I 0:00.09 /usr/libexec/getty V19200 ttyu0
- When a user dials the modem's line and the modems connect, the
- CD (Carrier Detect) line is reported by the modem.
- The kernel
- notices that carrier has been detected and completes
- getty's open of the port. getty
- sends a login: prompt at the specified initial line
- speed. getty watches to see if legitimate
- characters are received, and, in a typical configuration, if it finds
- junk (probably due to the modem's connection speed being different
- than getty's speed), getty tries
- adjusting the line speeds until it receives reasonable
- characters.
+ When a user dials the modem's line and the modems connect,
+ the CD (Carrier Detect) line is reported by
+ the modem. The kernel notices that carrier has been detected
+ and completes getty's open of the port.
+ getty sends a login:
+ prompt at the specified initial line speed.
+ getty watches to see if legitimate
+ characters are received, and, in a typical configuration, if
+ it finds junk (probably due to the modem's connection speed
+ being different than getty's speed),
+ getty tries adjusting the line speeds until
+ it receives reasonable characters./usr/bin/login
@@ -1337,68 +1372,75 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
Configuration FilesThere are three system configuration files in the
- /etc directory that you will probably need to
- edit to allow dial-up access to your FreeBSD system. The first,
- /etc/gettytab, contains configuration information
- for the /usr/libexec/getty daemon. Second,
+ /etc directory that you will probably
+ need to edit to allow dial-up access to your FreeBSD system.
+ The first, /etc/gettytab, contains
+ configuration information for the
+ /usr/libexec/getty daemon. Second,
/etc/ttys holds information that tells
- /sbin/init what tty devices
- should have getty processes running on them.
- Lastly, you can place port initialization commands in the
- /etc/rc.d/serial script.
+ /sbin/init what tty
+ devices should have getty processes running
+ on them. Lastly, you can place port initialization commands
+ in the /etc/rc.d/serial script.
- There are two schools of thought regarding dial-up modems on
- &unix;. One group likes to configure their modems and systems so that
- no matter at what speed a remote user dials in, the local
- computer-to-modem RS-232 interface runs at a locked speed. The benefit
- of this configuration is that the remote user always sees a system
- login prompt immediately. The downside is that the system does not
- know what a user's true data rate is, so full-screen programs like
- Emacs will not adjust their screen-painting
- methods to make their response better for slower connections.
+ There are two schools of thought regarding dial-up modems
+ on &unix;. One group likes to configure their modems and
+ systems so that no matter at what speed a remote user dials
+ in, the local computer-to-modem RS-232 interface runs at a
+ locked speed. The benefit of this configuration is that the
+ remote user always sees a system login prompt immediately.
+ The downside is that the system does not know what a user's
+ true data rate is, so full-screen programs like
+ Emacs will not adjust their
+ screen-painting methods to make their response better for
+ slower connections.
- The other school configures their modems' RS-232 interface to vary
- its speed based on the remote user's connection speed. For example,
- V.32bis (14.4 Kbps) connections to the modem might make the modem
- run its RS-232 interface at 19.2 Kbps, while 2400 bps
- connections make the modem's RS-232 interface run at 2400 bps.
- Because getty does not understand any particular
- modem's connection speed reporting, getty gives a
- login: message at an initial speed and watches the
- characters that come back in response. If the user sees junk, it is
- assumed that they know they should press the
- Enter key until they see a recognizable
- prompt. If the data rates do not match, getty sees
- anything the user types as junk, tries going to the next
- speed and gives the login: prompt again. This
- procedure can continue ad nauseam, but normally only takes a keystroke
- or two before the user sees a good prompt. Obviously, this login
- sequence does not look as clean as the former
+ The other school configures their modems' RS-232 interface
+ to vary its speed based on the remote user's connection speed.
+ For example, V.32bis (14.4 Kbps) connections to the modem
+ might make the modem run its RS-232 interface at
+ 19.2 Kbps, while 2400 bps connections make the
+ modem's RS-232 interface run at 2400 bps. Because
+ getty does not understand any particular
+ modem's connection speed reporting, getty
+ gives a login: message at an initial speed
+ and watches the characters that come back in response. If the
+ user sees junk, it is assumed that they know they should press
+ the Enter key until they see a recognizable
+ prompt. If the data rates do not match,
+ getty sees anything the user types as
+ junk, tries going to the next speed and gives
+ the login: prompt again. This procedure can
+ continue ad nauseam, but normally only takes a keystroke
+ or two before the user sees a good prompt. Obviously, this
+ login sequence does not look as clean as the former
locked-speed method, but a user on a low-speed
- connection should receive better interactive response from full-screen
- programs.
+ connection should receive better interactive response from
+ full-screen programs.
- This section will try to give balanced configuration information,
- but is biased towards having the modem's data rate follow the
- connection rate.
+ This section will try to give balanced configuration
+ information, but is biased towards having the modem's data
+ rate follow the connection rate./etc/gettytab
-
- /etc/gettytab
-
- /etc/gettytab is a &man.termcap.5;-style
- file of configuration information for &man.getty.8;. Please see the
- &man.gettytab.5; manual page for complete information on the
- format of the file and the list of capabilities.
+
+ /etc/gettytab
+
+ /etc/gettytab is a
+ &man.termcap.5;-style file of configuration information for
+ &man.getty.8;. Please see the &man.gettytab.5; manual page
+ for complete information on the format of the file and the
+ list of capabilities.Locked-speed Config
- If you are locking your modem's data communications rate at a
- particular speed, you probably will not need to make any changes
- to /etc/gettytab.
+ If you are locking your modem's data communications
+ rate at a particular speed, you probably will not need to
+ make any changes to
+ /etc/gettytab.
@@ -1406,9 +1448,10 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure
You will need to set up an entry in
/etc/gettytab to give
- getty information about the speeds you wish to
- use for your modem. If you have a 2400 bps modem, you can
- probably use the existing D2400 entry.
+ getty information about the speeds you
+ wish to use for your modem. If you have a 2400 bps
+ modem, you can probably use the existing
+ D2400 entry.
#
# Fast dialup terminals, 2400/1200/300 rotary (can start either way)
@@ -1420,9 +1463,10 @@ D2400|d2400|Fast-Dial-2400:\
5|D300|Fast-Dial-300:\
:nx=D2400:tc=300-baud:
- If you have a higher speed modem, you will probably need to
- add an entry in /etc/gettytab; here is an
- entry you could use for a 14.4 Kbps modem with a top interface
+ If you have a higher speed modem, you will probably
+ need to add an entry in
+ /etc/gettytab; here is an entry you
+ could use for a 14.4 Kbps modem with a top interface
speed of 19.2 Kbps:#
@@ -1439,22 +1483,25 @@ up|V9600|High Speed Modem at 9600,8-bit:\
uq|V19200|High Speed Modem at 19200,8-bit:\
:nx=V9600:tc=std.19200:
- This will result in 8-bit, no parity connections.
+ This will result in 8-bit, no parity
+ connections.The example above starts the communications rate at
- 19.2 Kbps (for a V.32bis connection), then cycles through
- 9600 bps (for V.32), 2400 bps, 1200 bps,
- 300 bps, and back to 19.2 Kbps. Communications rate
- cycling is implemented with the nx=
- (next table) capability. Each of the lines uses
- a tc= (table continuation)
+ 19.2 Kbps (for a V.32bis connection), then cycles
+ through 9600 bps (for V.32), 2400 bps,
+ 1200 bps, 300 bps, and back to 19.2 Kbps.
+ Communications rate cycling is implemented with the
+ nx= (next table)
+ capability. Each of the lines uses a
+ tc= (table continuation)
entry to pick up the rest of the standard
settings for a particular data rate.
- If you have a 28.8 Kbps modem and/or you want to take
- advantage of compression on a 14.4 Kbps modem, you need to
- use a higher communications rate than 19.2 Kbps. Here is an
- example of a gettytab entry starting a
+ If you have a 28.8 Kbps modem and/or you want to
+ take advantage of compression on a 14.4 Kbps modem,
+ you need to use a higher communications rate than
+ 19.2 Kbps. Here is an example of a
+ gettytab entry starting a
57.6 Kbps:#
@@ -1472,8 +1519,8 @@ vp|VH9600|Very High Speed Modem at 9600,8-bit:\
vq|VH57600|Very High Speed Modem at 57600,8-bit:\
:nx=VH9600:tc=std.57600:
- If you have a slow CPU or a heavily loaded system and do
- not have 16550A-based serial ports, you may receive
+ If you have a slow CPU or a heavily loaded system and
+ do not have 16550A-based serial ports, you may receive
siosilo errors at 57.6 Kbps.
@@ -1481,6 +1528,7 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\
/etc/ttys
+
/etc/ttys
@@ -1494,52 +1542,55 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\
ttyu0 "/usr/libexec/getty xxx" dialup on
- The first item in the above line is the device special file for
- this entry — ttyu0 means
- /dev/ttyu0 is the file that this
+ The first item in the above line is the device special
+ file for this entry — ttyu0
+ means /dev/ttyu0 is the file that this
getty will be watching. The second item,
"/usr/libexec/getty
xxx"
- (xxx will be replaced by the initial
- gettytab capability) is the process
- init will run on the device. The third item,
- dialup, is the default terminal type. The fourth
- parameter, on, indicates to
- init that the line is operational. There can be
- a fifth parameter, secure, but it should only be
- used for terminals which are physically secure (such as the system
+ (xxx will be replaced by the
+ initial gettytab capability) is the
+ process init will run on the device. The
+ third item, dialup, is the default
+ terminal type. The fourth parameter, on,
+ indicates to init that the line is
+ operational. There can be a fifth parameter,
+ secure, but it should only be used for
+ terminals which are physically secure (such as the system
console).
- The default terminal type (dialup in the
- example above) may depend on local preferences.
- dialup is the traditional default terminal type
- on dial-up lines so that users may customize their login scripts to
- notice when the terminal is dialup and
- automatically adjust their terminal type. However, the author finds
- it easier at his site to specify vt102 as the
- default terminal type, since the users just use VT102 emulation on
+ The default terminal type (dialup in
+ the example above) may depend on local preferences.
+ dialup is the traditional default
+ terminal type on dial-up lines so that users may customize
+ their login scripts to notice when the terminal is
+ dialup and automatically adjust their
+ terminal type. However, the author finds it easier at his
+ site to specify vt102 as the default
+ terminal type, since the users just use VT102 emulation on
their remote systems.
- After you have made changes to /etc/ttys,
- you may send the init process a
- HUP signal to re-read the file. You can use the
- command
+ After you have made changes to
+ /etc/ttys, you may send the
+ init process a HUP
+ signal to re-read the file. You can use the command
&prompt.root; kill -HUP 1
- to send the signal. If this is your first time setting up the
- system, you may want to wait until your modem(s) are properly
- configured and connected before signaling init.
-
+ to send the signal. If this is your first time setting up
+ the system, you may want to wait until your modem(s) are
+ properly configured and connected before signaling
+ init.Locked-speed ConfigFor a locked-speed configuration, your
- ttys entry needs to have a fixed-speed entry
- provided to getty. For a modem whose port
- speed is locked at 19.2 Kbps, the ttys
- entry might look like this:
+ ttys entry needs to have a
+ fixed-speed entry provided to getty.
+ For a modem whose port speed is locked at 19.2 Kbps,
+ the ttys entry might look like
+ this:ttyu0 "/usr/libexec/getty std.19200" dialup on
@@ -1555,13 +1606,15 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\
Matching-speed ConfigIn a matching-speed configuration, your
- ttys entry needs to reference the appropriate
- beginning auto-baud (sic) entry in
- /etc/gettytab. For example, if you added the
- above suggested entry for a matching-speed modem that starts at
- 19.2 Kbps (the gettytab entry containing
- the V19200 starting point), your
- ttys entry might look like this:
+ ttys entry needs to reference the
+ appropriate beginning auto-baud (sic) entry
+ in /etc/gettytab. For example, if
+ you added the above suggested entry for a matching-speed
+ modem that starts at 19.2 Kbps (the
+ gettytab entry containing the
+ V19200 starting point), your
+ ttys entry might look like
+ this:ttyu0 "/usr/libexec/getty V19200" dialup on
@@ -1569,6 +1622,7 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\
/etc/rc.d/serial
+
rc filesrc.serial
@@ -1576,16 +1630,16 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\
High-speed modems, like V.32, V.32bis, and V.34 modems,
need to use hardware (RTS/CTS) flow
- control. You can add stty commands to
- /etc/rc.d/serial to set the hardware flow
- control flag in the FreeBSD kernel for the modem
+ control. You can add stty commands to
+ /etc/rc.d/serial to set the hardware
+ flow control flag in the FreeBSD kernel for the modem
ports.For example to set the termios flag
crtscts on serial port #1's
- (COM2) dial-in and dial-out initialization
- devices, the following lines could be added to
- /etc/rc.d/serial:
+ (COM2) dial-in and dial-out
+ initialization devices, the following lines could be added
+ to /etc/rc.d/serial:
# Serial port initial configuration
stty -f /dev/ttyu1.init crtscts
stty -f /dev/cuau1.init crtscts
@@ -1596,11 +1650,12 @@ stty -f /dev/cuau1.init crtscts
Modem Settings
- If you have a modem whose parameters may be permanently set in
- non-volatile RAM, you will need to use a terminal program (such as
- Telix under &ms-dos; or
- tip under FreeBSD) to set the parameters. Connect
- to the modem using the same communications speed as the initial speed
+ If you have a modem whose parameters may be permanently
+ set in non-volatile RAM, you will need to use a terminal
+ program (such as Telix under
+ &ms-dos; or tip under FreeBSD) to set the
+ parameters. Connect to the modem using the same
+ communications speed as the initial speed
getty will use and configure the modem's
non-volatile RAM to match these requirements:
@@ -1610,20 +1665,23 @@ stty -f /dev/cuau1.init crtscts
- DTR asserted for operation; dropping DTR
- hangs up line and resets modem
+ DTR asserted for operation;
+ dropping DTR hangs up line and resets modem
- CTS transmitted data flow control
+ CTS transmitted data flow
+ control
- Disable XON/XOFF flow control
+ Disable XON/XOFF flow
+ control
- RTS received data flow control
+ RTS received data flow
+ control
@@ -1635,23 +1693,24 @@ stty -f /dev/cuau1.init crtscts
- Please read the documentation for your modem to find out what
- commands and/or DIP switch settings you need to give it.
+ Please read the documentation for your modem to find out
+ what commands and/or DIP switch settings you need to give
+ it.For example, to set the above parameters on a &usrobotics;
- &sportster; 14,400 external modem, one could give these commands to
- the modem:
+ &sportster; 14,400 external modem, one could give these
+ commands to the modem:ATZ
AT&C1&D2&H1&I0&R2&W
- You might also want to take this opportunity to adjust other
- settings in the modem, such as whether it will use V.42bis and/or MNP5
- compression.
+ You might also want to take this opportunity to adjust
+ other settings in the modem, such as whether it will use
+ V.42bis and/or MNP5 compression.
- The &usrobotics; &sportster; 14,400 external modem also has some
- DIP switches that need to be set; for other modems, perhaps you can
- use these settings as an example:
+ The &usrobotics; &sportster; 14,400 external modem also
+ has some DIP switches that need to be set; for other modems,
+ perhaps you can use these settings as an example:
@@ -1668,7 +1727,8 @@ AT&C1&D2&H1&I0&R2&W
- Switch 4: DOWN — No echo, offline commands
+ Switch 4: DOWN — No echo, offline
+ commands
@@ -1688,21 +1748,24 @@ AT&C1&D2&H1&I0&R2&W
- Result codes should be disabled/suppressed for dial-up modems to
- avoid problems that can occur if getty mistakenly
- gives a login: prompt to a modem that is in command
+ Result codes should be disabled/suppressed for dial-up
+ modems to avoid problems that can occur if
+ getty mistakenly gives a
+ login: prompt to a modem that is in command
mode and the modem echoes the command or returns a result
- code. This sequence can result in a extended, silly conversation
- between getty and the modem.
+ code. This sequence can result in a extended, silly
+ conversation between getty and the
+ modem.Locked-speed Config
- For a locked-speed configuration, you will need to configure the
- modem to maintain a constant modem-to-computer data rate independent
- of the communications rate. On a &usrobotics; &sportster; 14,400
- external modem, these commands will lock the modem-to-computer data
- rate at the speed used to issue the commands:
+ For a locked-speed configuration, you will need to
+ configure the modem to maintain a constant modem-to-computer
+ data rate independent of the communications rate. On a
+ &usrobotics; &sportster; 14,400 external modem, these
+ commands will lock the modem-to-computer data rate at the
+ speed used to issue the commands:ATZ
AT&B1&W
@@ -1711,12 +1774,13 @@ AT&B1&W
Matching-speed Config
- For a variable-speed configuration, you will need to configure
- your modem to adjust its serial port data rate to match the incoming
- call rate. On a &usrobotics; &sportster; 14,400 external modem,
- these commands will lock the modem's error-corrected data rate to the
- speed used to issue the commands, but allow the serial port rate to
- vary for non-error-corrected connections:
+ For a variable-speed configuration, you will need to
+ configure your modem to adjust its serial port data rate to
+ match the incoming call rate. On a &usrobotics; &sportster;
+ 14,400 external modem, these commands will lock the modem's
+ error-corrected data rate to the speed used to issue the
+ commands, but allow the serial port rate to vary for
+ non-error-corrected connections:ATZ
AT&B2&W
@@ -1725,42 +1789,47 @@ AT&B2&W
Checking the Modem's Configuration
- Most high-speed modems provide commands to view the modem's
- current operating parameters in a somewhat human-readable fashion.
- On the &usrobotics; &sportster; 14,400 external modems, the command
- ATI5 displays the settings that are stored in the
- non-volatile RAM. To see the true operating parameters of the modem
- (as influenced by the modem's DIP switch settings), use the commands
- ATZ and then ATI4.
+ Most high-speed modems provide commands to view the
+ modem's current operating parameters in a somewhat
+ human-readable fashion. On the &usrobotics; &sportster;
+ 14,400 external modems, the command
+ ATI5 displays the settings that are
+ stored in the non-volatile RAM. To see the true operating
+ parameters of the modem (as influenced by the modem's DIP
+ switch settings), use the commands ATZ
+ and then ATI4.
- If you have a different brand of modem, check your modem's
- manual to see how to double-check your modem's configuration
- parameters.
+ If you have a different brand of modem, check your
+ modem's manual to see how to double-check your modem's
+ configuration parameters.Troubleshooting
- Here are a few steps you can follow to check out the dial-up modem
- on your system.
+ Here are a few steps you can follow to check out the
+ dial-up modem on your system.Checking Out the FreeBSD System
- Hook up your modem to your FreeBSD system, boot the system, and,
- if your modem has status indication lights, watch to see whether the
- modem's DTR indicator lights when the
- login: prompt appears on the system's console
- — if it lights up, that should mean that FreeBSD has started a
- getty process on the appropriate communications
- port and is waiting for the modem to accept a call.
+ Hook up your modem to your FreeBSD system, boot the
+ system, and, if your modem has status indication lights,
+ watch to see whether the modem's DTR
+ indicator lights when the login: prompt
+ appears on the system's console — if it lights up,
+ that should mean that FreeBSD has started a
+ getty process on the appropriate
+ communications port and is waiting for the modem to accept a
+ call.
- If the DTR indicator does not light, login to
- the FreeBSD system through the console and issue a ps
- ax to see if FreeBSD is trying to run a
- getty process on the correct port. You should see
- lines like these among the processes displayed:
+ If the DTR indicator does not light,
+ login to the FreeBSD system through the console and issue a
+ ps ax to see if FreeBSD is trying to run
+ a getty process on the correct port. You
+ should see lines like these among the processes
+ displayed: 114 ?? I 0:00.10 /usr/libexec/getty V19200 ttyu0
115 ?? I 0:00.10 /usr/libexec/getty V19200 ttyu1
@@ -1769,52 +1838,56 @@ AT&B2&W
114 d0 I 0:00.10 /usr/libexec/getty V19200 ttyu0
- and the modem has not accepted a call yet, this means that
- getty has completed its open on the
- communications port. This could indicate a problem with the cabling
- or a mis-configured modem, because getty should
- not be able to open the communications port until
- CD (carrier detect) has been asserted by the
- modem.
+ and the modem has not accepted a call yet, this means
+ that getty has completed its open on the
+ communications port. This could indicate a problem with the
+ cabling or a mis-configured modem, because
+ getty should not be able to open the
+ communications port until CD (carrier
+ detect) has been asserted by the modem.
- If you do not see any getty processes waiting
- to open the desired
- ttyuN port,
- double-check your entries in /etc/ttys to see
- if there are any mistakes there. Also, check the log file
- /var/log/messages to see if there are any log
- messages from init or getty
- regarding any problems. If there are any messages, triple-check the
- configuration files /etc/ttys and
- /etc/gettytab, as well as the appropriate
- device special files /dev/ttyuN, for any
- mistakes, missing entries, or missing device special files.
+ If you do not see any getty processes
+ waiting to open the desired
+ ttyuN
+ port, double-check your entries in
+ /etc/ttys to see if there are any
+ mistakes there. Also, check the log file
+ /var/log/messages to see if there are
+ any log messages from init or
+ getty regarding any problems. If there
+ are any messages, triple-check the configuration files
+ /etc/ttys and
+ /etc/gettytab, as well as the
+ appropriate device special files
+ /dev/ttyuN, for any mistakes, missing
+ entries, or missing device special files.Try Dialing In
- Try dialing into the system; be sure to use 8 bits, no parity,
- and 1
- stop bit on the remote system. If you do not get a prompt right
- away, or get garbage, try pressing Enter
- about once per second. If you still do not see a
- login: prompt after a while, try sending a
- BREAK. If you are using a high-speed modem to do
- the dialing, try dialing again after locking the dialing modem's
- interface speed (via AT&B1 on a &usrobotics;
- &sportster; modem, for example).
+ Try dialing into the system; be sure to use 8 bits, no
+ parity, and 1 stop bit on the remote system. If you do not
+ get a prompt right away, or get garbage, try pressing
+ Enter about once per second. If you still
+ do not see a login: prompt after a while,
+ try sending a BREAK. If you are using a
+ high-speed modem to do the dialing, try dialing again after
+ locking the dialing modem's interface speed (via
+ AT&B1 on a &usrobotics; &sportster;
+ modem, for example).
- If you still cannot get a login: prompt, check
- /etc/gettytab again and double-check
- that
+ If you still cannot get a login:
+ prompt, check /etc/gettytab again and
+ double-check thatThe initial capability name specified in
- /etc/ttys for the line matches a name of a
- capability in /etc/gettytab
-
+ /etc/ttys for the line matches a
+ name of a capability in
+ /etc/gettytab
+
Each nx= entry matches another
@@ -1827,18 +1900,19 @@ AT&B2&W
- If you dial but the modem on the FreeBSD system will not answer,
- make sure that the modem is configured to answer the phone when
- DTR is asserted. If the modem seems to be
- configured correctly, verify that the DTR line is
- asserted by checking the modem's indicator lights (if it has
- any).
+ If you dial but the modem on the FreeBSD system will not
+ answer, make sure that the modem is configured to answer the
+ phone when DTR is asserted. If the modem
+ seems to be configured correctly, verify that the
+ DTR line is asserted by checking the
+ modem's indicator lights (if it has any).
- If you have gone over everything several times and it still does
- not work, take a break and come back to it later. If it still does
- not work, perhaps you can send an electronic mail message to the
- &a.questions; describing your modem and your problem, and the good
- folks on the list will try to help.
+ If you have gone over everything several times and it
+ still does not work, take a break and come back to it later.
+ If it still does not work, perhaps you can send an
+ electronic mail message to the &a.questions; describing your
+ modem and your problem, and the good folks on the list will
+ try to help.
@@ -1858,81 +1932,88 @@ AT&B2&W
dial-out service
- The following are tips for getting your host to be able to connect
- over the modem to another computer. This is appropriate for
- establishing a terminal session with a remote host.
+ The following are tips for getting your host to be able to
+ connect over the modem to another computer. This is appropriate
+ for establishing a terminal session with a remote host.This is useful to log onto a BBS.
- This kind of connection can be extremely helpful to get a file on
- the Internet if you have problems with PPP. If you need to FTP
- something and PPP is broken, use the terminal session to FTP it. Then
- use zmodem to transfer it to your machine.
+ This kind of connection can be extremely helpful to get a
+ file on the Internet if you have problems with PPP. If you need
+ to FTP something and PPP is broken, use the terminal session to
+ FTP it. Then use zmodem to transfer it to your machine.
- My Stock Hayes Modem Is Not Supported, What Can I Do?
+ My Stock Hayes Modem Is Not Supported, What Can I
+ Do?
- Actually, the manual page for tip is out of
- date. There is a generic Hayes dialer already built in. Just use
- at=hayes in your /etc/remote
- file.
+ Actually, the manual page for tip is
+ out of date. There is a generic Hayes dialer already built
+ in. Just use at=hayes in your
+ /etc/remote file.
- The Hayes driver is not smart enough to recognize some of the
- advanced features of newer modems—messages like
+ The Hayes driver is not smart enough to recognize some of
+ the advanced features of newer modems—messages like
BUSY, NO DIALTONE, or
- CONNECT 115200 will just confuse it. You should
- turn those messages off when you use tip (using
+ CONNECT 115200 will just confuse it. You
+ should turn those messages off when you use
+ tip (using
ATX0&W).
- Also, the dial timeout for tip is 60 seconds.
- Your modem should use something less, or else tip will think there is
- a communication problem. Try ATS7=45&W.
+ Also, the dial timeout for tip is 60
+ seconds. Your modem should use something less, or else tip
+ will think there is a communication problem. Try
+ ATS7=45&W.
- How Am I Expected to Enter These AT Commands?
+ How Am I Expected to Enter These AT
+ Commands?/etc/remoteMake what is called a direct entry in your
- /etc/remote file. For example, if your modem is
- hooked up to the first serial port, /dev/cuau0,
- then put in the following line:
+ /etc/remote file. For example, if your
+ modem is hooked up to the first serial port,
+ /dev/cuau0, then put in the following
+ line:
cuau0:dv=/dev/cuau0:br#19200:pa=none
- Use the highest bps rate your modem supports in the br capability.
- Then, type tip cuau0 and you will be connected to
- your modem.
+ Use the highest bps rate your modem supports in the br
+ capability. Then, type tip cuau0 and you
+ will be connected to your modem.
- Or use cu as root with the
- following command:
+ Or use cu as root
+ with the following command:&prompt.root; cu -lline -sspeedline is the serial port
(e.g., /dev/cuau0) and
- speed is the speed
- (e.g., 57600). When you are done entering the AT
+ speed is the speed (e.g.,
+ 57600). When you are done entering the AT
commands type ~. to exit.
- The @ Sign for the pn Capability Does Not
- Work!
+ The @ Sign for the pn Capability Does
+ Not Work!
- The @ sign in the phone number capability tells
- tip to look in /etc/phones for a phone number.
- But the @ sign is also a special character in
- capability files like /etc/remote. Escape it
- with a backslash:
+ The @ sign in the phone number
+ capability tells tip to look in
+ /etc/phones for a phone number. But the
+ @ sign is also a special character in
+ capability files like /etc/remote.
+ Escape it with a backslash:pn=\@
- How Can I Dial a Phone Number on the Command Line?
+ How Can I Dial a Phone Number on the Command
+ Line?Put what is called a generic entry in your
/etc/remote file. For example:
@@ -1946,8 +2027,9 @@ tip57600|Dial any phone number at 57600 bps:\
&prompt.root; tip -115200 5551234
- If you prefer cu over tip,
- use a generic cu entry:
+ If you prefer cu over
+ tip, use a generic cu
+ entry:cu115200|Use cu to dial any number at 115200bps:\
:dv=/dev/cuau1:br#57600:at=hayes:pa=none:du:
@@ -1958,23 +2040,26 @@ tip57600|Dial any phone number at 57600 bps:\
- Do I Have to Type in the bps Rate Every Time I Do That?
+ Do I Have to Type in the bps Rate Every Time I Do
+ That?Put in an entry for tip1200 or
- cu1200, but go ahead and use whatever bps rate is
- appropriate with the br capability. tip thinks a
- good default is 1200 bps which is why it looks for a
- tip1200 entry. You do not have to use
- 1200 bps, though.
+ cu1200, but go ahead and use whatever bps
+ rate is appropriate with the br capability.
+ tip thinks a good default is 1200 bps
+ which is why it looks for a tip1200 entry.
+ You do not have to use 1200 bps, though.
- I Access a Number of Hosts Through a Terminal Server
+ I Access a Number of Hosts Through a Terminal
+ ServerRather than waiting until you are connected and typing
- CONNECT host each time,
- use tip's cm capability. For example, these entries
- in /etc/remote:
+ CONNECT host
+ each time, use tip's cm capability. For
+ example, these entries in
+ /etc/remote:
pain|pain.deep13.com|Forrester's machine:\
:cm=CONNECT pain\n:tc=deep13:
@@ -1983,21 +2068,23 @@ muffin|muffin.deep13.com|Frank's machine:\
deep13:Gizmonics Institute terminal server:\
:dv=/dev/cuau2:br#38400:at=hayes:du:pa=none:pn=5551234:
- will let you type tip pain or tip
- muffin to connect to the hosts pain or
- muffin, and tip deep13 to get to
- the terminal server.
+ will let you type tip pain or
+ tip muffin to connect to the hosts
+ pain or muffin, and
+ tip deep13 to get to the terminal
+ server.Can Tip Try More Than One Line for Each Site?
- This is often a problem where a university has several modem lines
- and several thousand students trying to use them.
+ This is often a problem where a university has several
+ modem lines and several thousand students trying to use
+ them.Make an entry for your university in
- /etc/remote and use @ for the
- pn capability:
+ /etc/remote and use @
+ for the pn capability:
big-university:\
:pn=\@:tc=dialout
@@ -2012,9 +2099,9 @@ big-university 5551112
big-university 5551113
big-university 5551114
- tip will try each one in the listed order, then
- give up. If you want to keep retrying, run tip in
- a while loop.
+ tip will try each one in the listed
+ order, then give up. If you want to keep retrying, run
+ tip in a while loop.
@@ -2030,27 +2117,27 @@ big-university 5551114
Once?
- CtrlP
+ CtrlP
is the default force character, used to tell
- tip that the next character is literal data. You
- can set the force character to any other character with the
- ~s escape, which means set a
- variable.
+ tip that the next character is literal
+ data. You can set the force character to any other character
+ with the ~s escape, which means set
+ a variable.Type
~sforce=single-char
- followed by a newline. single-char is any
- single character. If you leave out
- single-char, then the force character is
- the nul character, which you can get by typing
+ followed by a newline. single-char
+ is any single character. If you leave out
+ single-char, then the force
+ character is the nul character, which you can get by typing
Ctrl2
- or
-
+ or CtrlSpace
- .
- A pretty good value for single-char is
+ . A pretty good value for
+ single-char is
ShiftCtrl
@@ -2073,41 +2160,42 @@ big-university 5551114
CtrlA, tip's
- raise character, specially designed for people with
- broken caps-lock keys. Use ~s as above and set the
- variable raisechar to something reasonable. In
- fact, you can set it to the same as the force character, if you never
- expect to use either of these features.
+ raise character, specially designed for people
+ with broken caps-lock keys. Use ~s as
+ above and set the variable raisechar to
+ something reasonable. In fact, you can set it to the same as
+ the force character, if you never expect to use either of
+ these features.
- Here is a sample .tiprc file perfect for
- Emacs users who need to type
+ Here is a sample .tiprc file perfect
+ for Emacs users who need to type
- Ctrl2
-
- and
-
- CtrlA
-
- a lot:
+ Ctrl
+ 2
+ and
+ Ctrl
+ A
+ a lot:
- force=^^
+ force=^^
raisechar=^^The ^^ is
ShiftCtrl6
- .
+ .
- How Can I Do File Transfers with tip?
+ How Can I Do File Transfers with
+ tip?
- If you are talking to another &unix; system, you can send and
- receive files with ~p (put) and
+ If you are talking to another &unix; system, you can send
+ and receive files with ~p (put) and
~t (take). These commands run
- cat and echo on the remote
- system to accept and send files. The syntax is:
+ cat and echo on the
+ remote system to accept and send files. The syntax is:~p
@@ -2121,20 +2209,22 @@ raisechar=^^
local-file
- There is no error checking, so you probably should use another
- protocol, like zmodem.
+ There is no error checking, so you probably should use
+ another protocol, like zmodem.
- How Can I Run zmodem with tip?
+ How Can I Run zmodem with
+ tip?
- To receive files, start the sending program on the remote end.
- Then, type ~C rz to begin receiving them
- locally.
+ To receive files, start the sending program on the remote
+ end. Then, type ~C rz to begin receiving
+ them locally.
- To send files, start the receiving program on the remote end.
- Then, type ~C sz files
- to send them to the remote system.
+ To send files, start the receiving program on the remote
+ end. Then, type ~C sz
+ files to send them to the
+ remote system.
@@ -2172,20 +2262,22 @@ raisechar=^^
IntroductionFreeBSD has the ability to boot on a system with only
- a dumb terminal on a serial port as a console. Such a configuration
- should be useful for two classes of people: system administrators who
- wish to install FreeBSD on machines that have no keyboard or monitor
- attached, and developers who want to debug the kernel or device
- drivers.
+ a dumb terminal on a serial port as a console. Such a
+ configuration should be useful for two classes of people:
+ system administrators who wish to install FreeBSD on machines
+ that have no keyboard or monitor attached, and developers who
+ want to debug the kernel or device drivers.
- As described in , FreeBSD employs a three
- stage bootstrap. The first two stages are in the boot block code which
- is stored at the beginning of the FreeBSD slice on the boot disk. The
- boot block will then load and run the boot loader
- (/boot/loader) as the third stage code.
+ As described in , FreeBSD employs a
+ three stage bootstrap. The first two stages are in the boot
+ block code which is stored at the beginning of the FreeBSD
+ slice on the boot disk. The boot block will then load and run
+ the boot loader (/boot/loader) as the
+ third stage code.
- In order to set up the serial console you must configure the boot
- block code, the boot loader code and the kernel.
+ In order to set up the serial console you must configure
+ the boot block code, the boot loader code and the
+ kernel.
@@ -2199,27 +2291,30 @@ raisechar=^^
- Connect the serial cable to COM1 and
- the controlling terminal.
+ Connect the serial cable to
+ COM1 and the controlling
+ terminal.To see all boot messages on the serial console, issue
- the following command while logged in as the superuser:
+ the following command while logged in as the
+ superuser:
&prompt.root; echo 'console="comconsole"' >> /boot/loader.confEdit /etc/ttys and change
off to on and
- dialup to vt100 for the
- ttyu0 entry. Otherwise a password will
- not be required to connect via the serial console, resulting in a
- potential security hole.
+ dialup to vt100 for
+ the ttyu0 entry. Otherwise a
+ password will not be required to connect via the serial
+ console, resulting in a potential security hole.
- Reboot the system to see if the changes took effect.
+ Reboot the system to see if the changes took
+ effect.
@@ -2237,76 +2332,85 @@ raisechar=^^
Prepare a serial cable.null-modem cable
- You will need either a null-modem cable or a standard serial
- cable and a null-modem adapter. See for
- a discussion on serial cables.
+ You will need either a null-modem cable or a standard
+ serial cable and a null-modem adapter. See for a discussion on
+ serial cables.Unplug your keyboard.
- Most PC systems probe for the keyboard during the Power-On
- Self-Test (POST) and will generate an error if the keyboard is not
- detected. Some machines complain loudly about the lack of a
- keyboard and will not continue to boot until it is plugged
- in.
+ Most PC systems probe for the keyboard during the
+ Power-On Self-Test (POST) and will generate an error if
+ the keyboard is not detected. Some machines complain
+ loudly about the lack of a keyboard and will not continue
+ to boot until it is plugged in.
- If your computer complains about the error, but boots anyway,
- then you do not have to do anything special. (Some machines with
- Phoenix BIOS installed merely say Keyboard
- failed and continue to boot normally.)
+ If your computer complains about the error, but boots
+ anyway, then you do not have to do anything special.
+ (Some machines with Phoenix BIOS installed merely say
+ Keyboard failed and continue to
+ boot normally.)
- If your computer refuses to boot without a keyboard attached
- then you will have to configure the BIOS so that it ignores this
- error (if it can). Consult your motherboard's manual for details
- on how to do this.
+ If your computer refuses to boot without a keyboard
+ attached then you will have to configure the BIOS so that
+ it ignores this error (if it can). Consult your
+ motherboard's manual for details on how to do this.
- Set the keyboard to Not installed in the
- BIOS setup. You will still
- be able to use your keyboard. All this does is tell the BIOS
- not to probe for a keyboard at power-on. Your BIOS should not
+ Set the keyboard to Not installed in
+ the BIOS setup. You will still be able to use your
+ keyboard. All this does is tell the BIOS not to probe
+ for a keyboard at power-on. Your BIOS should not
complain if the keyboard is absent. You can leave the
- keyboard plugged in even with this flag set to Not
- installed and the keyboard will still work. If the
- above option is not present in the BIOS, look for an
- Halt on Error option instead. Setting this to
- All but Keyboard or even to
- No Errors, will have the same effect.
+ keyboard plugged in even with this flag set to
+ Not installed and the keyboard will still
+ work. If the above option is not present in the BIOS,
+ look for an Halt on Error option instead.
+ Setting this to All but Keyboard or even
+ to No Errors, will have the same
+ effect.
- If your system has a &ps2; mouse, chances are very good that
- you may have to unplug your mouse as well as your keyboard.
- This is because &ps2; mice share some hardware with the keyboard
- and leaving the mouse plugged in can fool the keyboard probe
- into thinking the keyboard is still there. It is said that a
- Gateway 2000 Pentium 90 MHz system with an AMI BIOS that
- behaves this way. In general, this is not a problem since the
- mouse is not much good without the keyboard anyway.
+ If your system has a &ps2; mouse, chances are very
+ good that you may have to unplug your mouse as well as
+ your keyboard. This is because &ps2; mice share some
+ hardware with the keyboard and leaving the mouse plugged
+ in can fool the keyboard probe into thinking the
+ keyboard is still there. It is said that a Gateway 2000
+ Pentium 90 MHz system with an AMI BIOS that behaves
+ this way. In general, this is not a problem since the
+ mouse is not much good without the keyboard
+ anyway.
- Plug a dumb terminal into COM1
+ Plug a dumb terminal into
+ COM1
(sio0).
- If you do not have a dumb terminal, you can use an old PC/XT
- with a modem program, or the serial port on another &unix; box. If
- you do not have a COM1
- (sio0), get one. At this time, there is
- no way to select a port other than COM1
- for the boot blocks without recompiling the boot blocks. If you
- are already using COM1 for another
- device, you will have to temporarily remove that device and
- install a new boot block and kernel once you get FreeBSD up and
- running. (It is assumed that COM1 will
- be available on a file/compute/terminal server anyway; if you
- really need COM1 for something else
- (and you cannot switch that something else to
- COM2 (sio1)),
- then you probably should not even be bothering with all this in
- the first place.)
+ If you do not have a dumb terminal, you can use an old
+ PC/XT with a modem program, or the serial port on another
+ &unix; box. If you do not have a
+ COM1
+ (sio0), get one. At this time,
+ there is no way to select a port other than
+ COM1 for the boot blocks without
+ recompiling the boot blocks. If you are already using
+ COM1 for another device, you will
+ have to temporarily remove that device and install a new
+ boot block and kernel once you get FreeBSD up and running.
+ (It is assumed that COM1 will
+ be available on a file/compute/terminal server anyway; if
+ you really need COM1 for
+ something else (and you cannot switch that something else
+ to COM2
+ (sio1)), then you probably should
+ not even be bothering with all this in the first
+ place.)
@@ -2321,12 +2425,13 @@ raisechar=^^
0x10
- Enables console support for this unit. The other
- console flags are ignored unless this is set. Currently, at
- most one unit can have console support; the first one (in
- config file order) with this flag set is preferred. This
- option alone will not make the serial port the console. Set
- the following flag or use the option
+ Enables console support for this unit. The
+ other console flags are ignored unless this is set.
+ Currently, at most one unit can have console
+ support; the first one (in config file order) with
+ this flag set is preferred. This option alone will
+ not make the serial port the console. Set the
+ following flag or use the option
described below, together with this flag.
@@ -2335,9 +2440,9 @@ raisechar=^^
0x20
- Forces this unit to be the console (unless there is
- another higher priority console), regardless of the
- option discussed below.
+ Forces this unit to be the console (unless there
+ is another higher priority console), regardless of
+ the option discussed below.
The flag 0x20 must be used
together with the flag.
@@ -2365,34 +2470,38 @@ raisechar=^^
device sio0 flags 0x10
- See the &man.sio.4; manual page for more details.
+ See the &man.sio.4; manual page for more
+ details.
- If the flags were not set, you need to run UserConfig (on a
- different console) or recompile the kernel.
+ If the flags were not set, you need to run UserConfig
+ (on a different console) or recompile the kernel.
- Create boot.config in the root directory
- of the a partition on the boot drive.
+ Create boot.config in the root
+ directory of the a partition on the
+ boot drive.
- This file will instruct the boot block code how you would like
- to boot the system. In order to activate the serial console, you
- need one or more of the following options—if you want
- multiple options, include them all on the same line:
+ This file will instruct the boot block code how you
+ would like to boot the system. In order to activate the
+ serial console, you need one or more of the following
+ options—if you want multiple options, include them
+ all on the same line:
- Toggles internal and serial consoles. You can use this
- to switch console devices. For instance, if you boot from
- the internal (video) console, you can use
- to direct the boot loader and the kernel
- to use the serial port as its console device. Alternatively,
- if you boot from the serial port, you can use the
- to tell the boot loader and the kernel
- to use the video display as the console instead.
+ Toggles internal and serial consoles. You can
+ use this to switch console devices. For instance,
+ if you boot from the internal (video) console, you
+ can use to direct the boot
+ loader and the kernel to use the serial port as its
+ console device. Alternatively, if you boot from the
+ serial port, you can use the to
+ tell the boot loader and the kernel to use the video
+ display as the console instead.
@@ -2400,17 +2509,20 @@ raisechar=^^
- Toggles single and dual console configurations. In the
- single configuration the console will be either the internal
- console (video display) or the serial port, depending on the
- state of the option above. In the dual
- console configuration, both the video display and the
- serial port will become the console at the same time,
- regardless of the state of the option.
- However, note that the dual console configuration takes
- effect only during the boot block is running. Once the boot
- loader gets control, the console specified by the
- option becomes the only console.
+ Toggles single and dual console configurations.
+ In the single configuration the console will be
+ either the internal console (video display) or the
+ serial port, depending on the state of the
+ option above. In the dual
+ console configuration, both the video display and
+ the serial port will become the console at the same
+ time, regardless of the state of the
+ option. However, note that the
+ dual console configuration takes effect only during
+ the boot block is running. Once the boot loader
+ gets control, the console specified by the
+ option becomes the only
+ console.
@@ -2418,57 +2530,64 @@ raisechar=^^
- Makes the boot block probe the keyboard. If no keyboard
- is found, the and
- options are automatically set.
+ Makes the boot block probe the keyboard. If no
+ keyboard is found, the and
+ options are automatically
+ set.
- Due to space constraints in the current version of the
- boot blocks, the option is capable of
- detecting extended keyboards only. Keyboards with less
- than 101 keys (and without F11 and F12 keys) may not be
- detected. Keyboards on some laptop computers may not be
- properly found because of this limitation. If this is
- the case with your system, you have to abandon using
- the option. Unfortunately there is no
- workaround for this problem.
+ Due to space constraints in the current
+ version of the boot blocks, the
+ option is capable of
+ detecting extended keyboards only. Keyboards with
+ less than 101 keys (and without F11 and F12 keys)
+ may not be detected. Keyboards on some laptop
+ computers may not be properly found because of
+ this limitation. If this is the case with your
+ system, you have to abandon using the
+ option. Unfortunately there
+ is no workaround for this problem.
- Use either the option to select the
- console automatically, or the option to
- activate the serial console.
+ Use either the option to select
+ the console automatically, or the
+ option to activate the serial console.
- You may include other options described in &man.boot.8; as
- well.
+ You may include other options described in
+ &man.boot.8; as well.
- The options, except for , will be passed to
- the boot loader (/boot/loader). The boot
- loader will determine which of the internal video or the serial
- port should become the console by examining the state of the
- option alone. This means that if you specify
- the option but not the
- option in /boot.config, you can use the
- serial port as the console only during the boot block; the boot
- loader will use the internal video display as the console.
+ The options, except for , will be
+ passed to the boot loader
+ (/boot/loader). The boot loader will
+ determine which of the internal video or the serial port
+ should become the console by examining the state of the
+ option alone. This means that if you
+ specify the option but not the
+ option in
+ /boot.config, you can use the
+ serial port as the console only during the boot block;
+ the boot loader will use the internal video display as the
+ console.Boot the machine.
- When you start your FreeBSD box, the boot blocks will echo the
- contents of /boot.config to the console. For
- example:
+ When you start your FreeBSD box, the boot blocks will
+ echo the contents of /boot.config to
+ the console. For example:/boot.config: -P
Keyboard: no
- The second line appears only if you put in
- /boot.config and indicates presence/absence
- of the keyboard. These messages go to either serial or internal
- console, or both, depending on the option in
+ The second line appears only if you put
+ in /boot.config
+ and indicates presence/absence of the keyboard. These
+ messages go to either serial or internal console, or both,
+ depending on the option in
/boot.config.
@@ -2514,48 +2633,51 @@ Keyboard: no
- After the above messages, there will be a small pause before
- the boot blocks continue loading the boot loader and before any
- further messages printed to the console. Under normal
- circumstances, you do not need to interrupt the boot blocks, but
- you may want to do so in order to make sure things are set up
- correctly.
+ After the above messages, there will be a small pause
+ before the boot blocks continue loading the boot loader
+ and before any further messages printed to the console.
+ Under normal circumstances, you do not need to interrupt
+ the boot blocks, but you may want to do so in order to
+ make sure things are set up correctly.
- Hit any key, other than Enter, at the console
- to interrupt the boot process. The boot blocks will then prompt
- you for further action. You should now see something like:
+ Hit any key, other than Enter, at the
+ console to interrupt the boot process. The boot blocks
+ will then prompt you for further action. You should now
+ see something like:>> FreeBSD/i386 BOOT
Default: 0:ad(0,a)/boot/loader
boot:
- Verify the above message appears on either the serial or
- internal console or both, according to the options you put in
- /boot.config. If the message appears in the
- correct console, hit Enter to continue the boot
- process.
+ Verify the above message appears on either the serial
+ or internal console or both, according to the options you
+ put in /boot.config. If the message
+ appears in the correct console, hit Enter
+ to continue the boot process.
- If you want the serial console but you do not see the prompt
- on the serial terminal, something is wrong with your settings. In
- the meantime, you enter and hit
- Enter or Return (if possible)
- to tell the boot block (and then the boot loader and the kernel)
- to choose the serial port for the console. Once the system is
- up, go back and check what went wrong.
+ If you want the serial console but you do not see the
+ prompt on the serial terminal, something is wrong with
+ your settings. In the meantime, you enter
+ and hit Enter or
+ Return (if possible) to tell the boot
+ block (and then the boot loader and the kernel) to choose
+ the serial port for the console. Once the system is up,
+ go back and check what went wrong.
- After the boot loader is loaded and you are in the third stage of
- the boot process you can still switch between the internal console and
- the serial console by setting appropriate environment variables in the
- boot loader. See .
+ After the boot loader is loaded and you are in the third
+ stage of the boot process you can still switch between the
+ internal console and the serial console by setting appropriate
+ environment variables in the boot loader. See .
-
- Summary
+
+ Summary
- Here is the summary of various settings discussed in this section
- and the console eventually selected.
+ Here is the summary of various settings discussed in this
+ section and the console eventually selected.Case 1: You Set the Flags to 0x10 for
@@ -2622,7 +2744,8 @@ boot:
- Case 2: You Set the Flags to 0x30 for sio0
+ Case 2: You Set the Flags to 0x30 for
+ sio0device sio0 flags 0x30
@@ -2692,33 +2815,36 @@ boot:
Setting a Faster Serial Port SpeedBy default, the serial port settings are: 9600 baud, 8
- bits, no parity, and 1 stop bit. If you wish to change the default
- console speed, you have the following options:
+ bits, no parity, and 1 stop bit. If you wish to change the
+ default console speed, you have the following
+ options:
Recompile the boot blocks
- with BOOT_COMCONSOLE_SPEED set to the new
- console speed. See for
- detailed instructions about building and installing new boot
+ with BOOT_COMCONSOLE_SPEED set to the
+ new console speed. See for detailed
+ instructions about building and installing new boot
blocks.
- If the serial console is configured in some other way than
- by booting with , or if the serial console
- used by the kernel is different from the one used by the boot
- blocks, then you must also add the following option to the
- kernel configuration file and compile a new kernel:
+ If the serial console is configured in some other
+ way than by booting with , or if the
+ serial console used by the kernel is different from the
+ one used by the boot blocks, then you must also add the
+ following option to the kernel configuration file and
+ compile a new kernel:options CONSPEED=19200
- Use the boot option of the kernel.
- The command line option can be added
- to /boot.config. See the &man.boot.8;
- manual page for a description of how to add options
- to /boot.config and a list of the supported
- options.
+ Use the boot option of the
+ kernel. The command line option can
+ be added to /boot.config. See the
+ &man.boot.8; manual page for a description of how to add
+ options to /boot.config and a list
+ of the supported options.
@@ -2729,9 +2855,9 @@ boot:
This option depends on console,
boot_serial, and
boot_multicons being set in
- /boot/loader.conf too. An example of using
- comconsole_speed to change the serial console
- speed is:
+ /boot/loader.conf too. An example
+ of using comconsole_speed to change
+ the serial console speed is:
boot_multicons="YES"
boot_serial="YES"
@@ -2742,13 +2868,13 @@ console="comconsole,vidconsole"
- Using Serial Port Other Than sio0 for
- the Console
+ Using Serial Port Other Than
+ sio0 for the Console
- Using a port other than sio0 as the
- console requires some recompiling. If you want to use another
- serial port for whatever reasons, recompile the boot blocks, the
- boot loader and the kernel as follows.
+ Using a port other than sio0 as
+ the console requires some recompiling. If you want to use
+ another serial port for whatever reasons, recompile the boot
+ blocks, the boot loader and the kernel as follows.
@@ -2758,19 +2884,21 @@ console="comconsole,vidconsole"
Edit /etc/make.conf and set
- BOOT_COMCONSOLE_PORT to the address of the
- port you want to use (0x3F8, 0x2F8, 0x3E8 or 0x2E8). Only
- sio0 through
- sio3 (COM1
- through COM4) can be used; multiport
+ BOOT_COMCONSOLE_PORT to the address
+ of the port you want to use (0x3F8, 0x2F8, 0x3E8 or
+ 0x2E8). Only sio0 through
+ sio3
+ (COM1 through
+ COM4) can be used; multiport
serial cards will not work. No interrupt setting is
needed.Create a custom kernel configuration file and add
- appropriate flags for the serial port you want to use. For
- example, if you want to make sio1
+ appropriate flags for the serial port you want to use.
+ For example, if you want to make
+ sio1
(COM2) the console:device sio1 flags 0x10
@@ -2779,8 +2907,8 @@ console="comconsole,vidconsole"
device sio1 flags 0x30
- The console flags for the other serial ports should not be
- set.
+ The console flags for the other serial ports should
+ not be set.
@@ -2799,7 +2927,7 @@ console="comconsole,vidconsole"
Write the boot blocks to the boot disk with
- &man.bsdlabel.8; and boot from the new kernel.
+ &man.bsdlabel.8; and boot from the new kernel.
@@ -2807,10 +2935,11 @@ console="comconsole,vidconsole"
Entering the DDB Debugger from the Serial Line
- If you wish to drop into the kernel debugger from the serial
- console (useful for remote diagnostics, but also dangerous if you
- generate a spurious BREAK on the serial port!) then you should
- compile your kernel with the following options:
+ If you wish to drop into the kernel debugger from the
+ serial console (useful for remote diagnostics, but also
+ dangerous if you generate a spurious BREAK on the serial
+ port!) then you should compile your kernel with the
+ following options:options BREAK_TO_DEBUGGER
options DDB
@@ -2820,68 +2949,73 @@ options DDB
Getting a Login Prompt on the Serial ConsoleWhile this is not required, you may wish to get a
- login prompt over the serial line, now that you
- can see boot messages and can enter the kernel debugging session
- through the serial console. Here is how to do it.
+ login prompt over the serial line, now
+ that you can see boot messages and can enter the kernel
+ debugging session through the serial console. Here is how
+ to do it.
- Open the file /etc/ttys with an editor
- and locate the lines:
+ Open the file /etc/ttys with an
+ editor and locate the lines:
- ttyu0 "/usr/libexec/getty std.9600" unknown off secure
+ ttyu0 "/usr/libexec/getty std.9600" unknown off secure
ttyu1 "/usr/libexec/getty std.9600" unknown off secure
ttyu2 "/usr/libexec/getty std.9600" unknown off secure
ttyu3 "/usr/libexec/getty std.9600" unknown off securettyu0 through
ttyu3 corresponds to
- COM1 through COM4.
- Change off to on for the
- desired port. If you have changed the speed of the serial port,
- you need to change std.9600 to match the current
- setting, e.g., std.19200.
+ COM1 through
+ COM4. Change
+ off to on for the
+ desired port. If you have changed the speed of the serial
+ port, you need to change std.9600 to
+ match the current setting, e.g.,
+ std.19200.
You may also want to change the terminal type from
unknown to the actual type of your serial
terminal.
- After editing the file, you must kill -HUP 1
- to make this change take effect.
+ After editing the file, you must kill -HUP
+ 1 to make this change take effect.Changing Console from the Boot Loader
- Previous sections described how to set up the serial console by
- tweaking the boot block. This section shows that you can specify the
- console by entering some commands and environment variables in the
- boot loader. As the boot loader is invoked at the third stage of the
- boot process, after the boot block, the settings in the boot loader
- will override the settings in the boot block.
+ Previous sections described how to set up the serial
+ console by tweaking the boot block. This section shows that
+ you can specify the console by entering some commands and
+ environment variables in the boot loader. As the boot loader
+ is invoked at the third stage of the boot process, after the
+ boot block, the settings in the boot loader will override the
+ settings in the boot block.Setting Up the Serial Console
- You can easily specify the boot loader and the kernel to use the
- serial console by writing just one line in
+ You can easily specify the boot loader and the kernel to
+ use the serial console by writing just one line in
/boot/loader.conf:console="comconsole"
- This will take effect regardless of the settings in the boot
- block discussed in the previous section.
+ This will take effect regardless of the settings in the
+ boot block discussed in the previous section.You had better put the above line as the first line of
- /boot/loader.conf so as to see boot messages on
- the serial console as early as possible.
+ /boot/loader.conf so as to see boot
+ messages on the serial console as early as possible.
- Likewise, you can specify the internal console as:
+ Likewise, you can specify the internal console
+ as:console="vidconsole"If you do not set the boot loader environment variable
- console, the boot loader, and subsequently the
- kernel, will use whichever console indicated by the
+ console, the boot loader, and subsequently
+ the kernel, will use whichever console indicated by the
option in the boot block.The console can be specified in
@@ -2891,41 +3025,44 @@ ttyu3 "/usr/libexec/getty std.9600" unknown off secure
See &man.loader.conf.5; for more information.
- At the moment, the boot loader has no option equivalent to the
- option in the boot block, and there is no
- provision to automatically select the internal console and the
- serial console based on the presence of the keyboard.
+ At the moment, the boot loader has no option
+ quivalent to the option in the boot
+ block, and there is no provision to automatically select
+ the internal console and the serial console based on the
+ presence of the keyboard.
- Using a Serial Port Other Than sio0 for
- the Console
+ Using a Serial Port Other Than
+ sio0 for the Console
- You need to recompile the boot loader to use a serial port other
- than sio0 for the serial console. Follow the
- procedure described in .
+ You need to recompile the boot loader to use a serial
+ port other than sio0 for the serial
+ console. Follow the procedure described in .Caveats
- The idea here is to allow people to set up dedicated servers that
- require no graphics hardware or attached keyboards. Unfortunately,
- while most systems will let you boot without a keyboard, there
- are quite a few that will not let you boot without a graphics adapter.
- Machines with AMI BIOSes can be configured to boot with no graphics
- adapter installed by changing the
- graphics adapter setting in the CMOS configuration to
- Not installed.
+ The idea here is to allow people to set up dedicated
+ servers that require no graphics hardware or attached
+ keyboards. Unfortunately, while most systems will let you
+ boot without a keyboard, there are quite a few that will not
+ let you boot without a graphics adapter. Machines with AMI
+ BIOSes can be configured to boot with no graphics adapter
+ installed by changing the graphics adapter
+ setting in the CMOS configuration to Not
+ installed.
- However, many machines do not support this option and will refuse
- to boot if you have no display hardware in the system. With these
- machines, you will have to leave some kind of graphics card plugged in,
- (even if it is just a junky mono board) although you will not have to
- attach a monitor. You might also try installing an AMI
- BIOS.
+ However, many machines do not support this option and will
+ refuse to boot if you have no display hardware in the system.
+ With these machines, you will have to leave some kind of
+ graphics card plugged in, (even if it is just a junky mono
+ board) although you will not have to attach a monitor. You
+ might also try installing an AMI BIOS.