From 1643fc91d622d8b2872b0a41f62941bc907448c4 Mon Sep 17 00:00:00 2001 From: Dru Lavigne Date: Mon, 28 Jan 2013 15:15:46 +0000 Subject: [PATCH] White space fix only. Translators can ignore. Approved by: bcr (mentor) --- .../books/handbook/serialcomms/chapter.xml | 2073 +++++++++-------- 1 file changed, 1105 insertions(+), 968 deletions(-) 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 Ports To connect a modem or terminal to your FreeBSD system, you - will need a serial port on your computer and the proper cable to - connect to your serial device. If you are already familiar with your - hardware and the cable it requires, you can safely skip this - section. + 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 16550A If 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 terminals Terminals provide a convenient and low-cost way to access - your FreeBSD system when you are not at the computer's console or on - a connected network. This section describes how to use terminals with - FreeBSD. + 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 Terminals X terminals are the most sophisticated kind of terminal - available. Instead of connecting to a serial port, they usually - connect to a network like Ethernet. Instead of being relegated to - text-only applications, they can display any X application. + 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 <filename>/etc/ttys</filename> + Adding an Entry to + <filename>/etc/ttys</filename> - 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</screen> id="co-ttys-line1col3"/> on<co id="co-ttys-line1col4"/> insecure<co id="co-ttys-line1col5"/> -ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure - </programlisting> +ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure</programlisting> <calloutlist> <callout arearefs="co-ttys-line1col1"> <para>The first field normally specifies the name of - the terminal special file as it is found in - <filename>/dev</filename>.</para> + the terminal special file as it is found in + <filename>/dev</filename>.</para> </callout> <callout arearefs="co-ttys-line1col2"> @@ -959,18 +987,18 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure <replaceable>getty</replaceable> type. A <replaceable>getty</replaceable> type configures characteristics on the terminal line, like bps rate - and parity. The <command>getty</command> program reads - these characteristics from the file + and parity. The <command>getty</command> program + reads these characteristics from the file <filename>/etc/gettytab</filename>.</para> <para>The file <filename>/etc/gettytab</filename> contains lots of entries for terminal lines both old and new. In almost all cases, the entries that start with the text <literal>std</literal> will work for - hardwired terminals. These entries ignore parity. + hardwired terminals. These entries ignore parity. There is a <literal>std</literal> entry for each bps rate from 110 to 115200. Of course, you can add your - own entries to this file. The &man.gettytab.5; manual + own entries to this file. The &man.gettytab.5; manual page provides more information.</para> <para>When setting the <replaceable>getty</replaceable> @@ -979,8 +1007,8 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure match.</para> <para>For our example, the Wyse-50 uses no parity and - connects at 38400 bps. The 286 PC uses no parity - and connects at 19200 bps.</para> + connects at 38400 bps. The 286 PC uses no + parity and connects at 19200 bps.</para> </callout> <callout arearefs="co-ttys-line1col3"> @@ -1038,13 +1066,15 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure <para>After making the necessary changes to the <filename>/etc/ttys</filename> file you should send a SIGHUP (hangup) signal to the <command>init</command> process to - force it to re-read its configuration file. For example:</para> + force it to re-read its configuration file. For + example:</para> <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen> <note> - <para><command>init</command> is always the first process run - on a system, therefore it will always have PID 1.</para> + <para><command>init</command> is always the first process + run on a system, therefore it will always have PID + 1.</para> </note> <para>If everything is set up correctly, all cables are in @@ -1058,31 +1088,31 @@ ttyu5 "/usr/libexec/getty std.19200" vt100 on insecure <sect2 id="term-debug"> <title>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 Typed Switch 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 + modem If 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 Files There 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. <filename>/etc/gettytab</filename> - - /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 sio silo errors at 57.6 Kbps. @@ -1481,6 +1528,7 @@ vq|VH57600|Very High Speed Modem at 57600,8-bit:\ <filename>/etc/ttys</filename> + /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 Config For 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 Config In 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:\ <filename>/etc/rc.d/serial</filename> + rc files rc.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 that The 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 <literal>AT</literal> Commands? + How Am I Expected to Enter These <literal>AT</literal> + Commands? /etc/remote Make 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 -sspeed line 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 <literal>@</literal> Sign for the pn Capability Does Not - Work! + The <literal>@</literal> 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 + Server Rather 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 Shift Ctrl @@ -2073,41 +2160,42 @@ big-university 5551114 Ctrl A , 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 <command>tip</command>? + How Can I Do File Transfers with + <command>tip</command>? - 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 <application>zmodem</application> with <command>tip</command>? + How Can I Run <application>zmodem</application> with + <command>tip</command>? - 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=^^ Introduction FreeBSD 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.conf Edit /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:</screen> </sect3> <sect3> - <title>Case 2: You Set the Flags to 0x30 for <devicename>sio0</devicename> + Case 2: You Set the Flags to 0x30 for + <devicename>sio0</devicename> device sio0 flags 0x30 @@ -2692,33 +2815,36 @@ boot: Setting a Faster Serial Port Speed By 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 <devicename>sio0</devicename> for - the Console + Using Serial Port Other Than + <devicename>sio0</devicename> 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 Console While 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 secure ttyu0 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 <devicename>sio0</devicename> for - the Console + Using a Serial Port Other Than + <devicename>sio0</devicename> 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.