This commit is contained in:
gferg 2004-01-10 16:33:37 +00:00
parent dcfbf637cb
commit edd6c425b5
5 changed files with 819 additions and 596 deletions

View File

@ -2,7 +2,7 @@
<article>
<title>Howtos-with-LinuxDoc-mini-HOWTO
<author>David S. Lawyer
<date>v0.02, November 2003
<date>v0.03, December 2003
<abstract>
This is about how to write HOWTOs using the simple LinuxDoc markup.
It's primarily for Linux Documentation Project authors (and future
@ -15,6 +15,8 @@ Guide.</abstract>
v0.01 generic url for Greg Ferg. hmtl a flavor of sgml (per D.
Merrill's suggestion but ...)
v0.02 Nov. 2003: comparison errors: don't need to type release twice
v0.03 Dec. 2003: Character codes are seldom needed, ref to HOWTO, misc
changes
-->
<sect> Introduction
@ -33,28 +35,17 @@ answer yes to these, then you're encouraged to write something for the
LDP. But be warned that it may take more time than you expected.
<sect1>Copyright (skip this if you're in a hurry)
<p> Copyright (c) 2001 by David S. Lawyer. Please freely copy and
distribute (sell or give away) this document in any format. Send any
corrections and comments to the document maintainer. You may create a
derivative work and distribute it provided that you:
<enum>
<item> If it's not a translation: Email a copy of your derivative work
to the LDP (Linux Documentation Project) for free distribution on the
Internet in a format LDP accepts. Also email such a copy to the
author(s) and maintainer (could be the same person).
<item>License the derivative work in the spirit of this license or use
GPL. Include a copyright notice and at least a pointer to the
license used.
<item>Give due credit to previous authors and major contributors.
</enum>
<p> Copyright (c) 2001-3 by David S. Lawyer. You may freely copy and
distribute (sell or give away) this document. You may create a
derivative work and distribute it provided that you licnese it in the
spirit of this license and give proper credits. The author would like
to receive your comments, suggestions, and plans for any derivative
work based on this.
<sect1>Why I wrote this
<p>Why did I write this when there is already an "LDP Authoring
Guide"? Well, the LDP guide is a long and detailed work. If you want
to get started quickly, you need something much simpler and shorter.
Furthermore the LDP guide fails to even mention the simplicity of
LinuxDoc.
Thanks to Matt Welsh for his example.sgml file which I used as a major
source of info for the example sections.
@ -63,15 +54,20 @@ source of info for the example sections.
<sect1> Copyright
<p> All HOWTOs and other LDP documents are copyright by the authors so
the LDP doesn't have any special rights to your writing. We only accept
documents that have a license Mich permits anyone to copy and
distribute the document. So that gives us (and everyone else) the
right to distribute it. We encourage authors to also allow
documents that have a license which permits anyone to copy and
distribute the document. We encourage authors to also allow
modification in their license. This way, if the author stops
maintaining a document, someone else can do so. For more details see
our Manifesto.
<sect1> Choosing a topic
<p>
<p> If you are not sure what to write about, take look at some of
LDP's documents, including the ones in "unmaintained. You should find
ones that need rewriting. Also you may find topics that you are
interested in that are not adequately covered by existing
documentation. If you find something already written that seems to
need a lot of improvement, try to contact the author.
<sect> The Format of HOWTOs
<sect1> Introduction
<p> Our HOWTOs are released in various formats: Plain Text, HTML,
@ -172,7 +168,7 @@ Generalized Markup Language. You are now reading the LinuxDoc flavor
of sgml as specified in the very first line of this file.
<sect> Tags
<p> Tags are anything inside angle brackets. The "sect" tag above
<p> Tags are words inside angle brackets. The "sect" tag above
marks the start of a new section of this example document.
"Introduction" was the first section and you are now reading the
second section titled "Tags". If this were a long document (like a
@ -202,7 +198,7 @@ examples.
<tscreen><verb>
<!-- This is a comment. It's ignored when this source file gets
converted to other formats. -->
<!-- The next required tag implies that this file is in LinuxDoc format -->
<!-- The tag below says that this file is in LinuxDoc format -->
<!doctype linuxdoc system>
<article>
@ -233,31 +229,32 @@ translator such as sgml2txt to convert them to text and notice how the
result looks different than this "source" document with all its tags.
<sect>Article Layout
<sect1>Document Header
<p> One way to create a header part is just to copy them from another
.sgml file. Then replace everything except the tags with the correct
info for your document. This is like using a "template".
<sect1> Document Body
<p>
After the header comes the body of the document, consisting of nested
sections marked by sect-tags. Subsections are marked by sect1-tags.
Since this is the first subsection within the 2nd main section, it's
actually section 2.1. Within a subsection there may be
sub-subsections marked by sect2-tags, etc. For a sub-sub-sub-section
use "sect3". There are even such tags as sect4 and sect5, but you are
unlikely to need them.
<p> After the header comes the body of the document, consisting of
nested sections marked by sect-tags. Subsections are
marked by sect1-tags. Since this is the first subsection
within the 2nd main section, it's becomes section 2.1. Within a
subsection marked by sect1 there may be sub-subsections like
sect2. There are even tags like sect3, sect4, etc., but you are
unlikely to need them. Note the the real tags must be encosed in
angle brackets < and >. If I had put these brakets
<sect2> This is a sub-sub-section
<p>
It's 2.2.1. Note that a "p" tag may be on a line by itself. This
It's 2.1.1. Note that a "p" tag may be on a line by itself. This
doesn't change a thing in the resulting documents.
<sect1>Document Header
<p> One way to create a header part is just to copy one from another
.sgml file. Then replace everything except the tags with the correct
info for your document. This is like using a "template".
<sect> More Features in example3
<p> With the tags in this example2 you can write a simple short document
a few pages long. But for longer documents or for other important
features such as putting links into documents, you need to study the
next example: example3. It will show you how to create lists and
next example: example3. It will also show you how to create lists and
fonts.
&etago;article>
</verb></tscreen>
@ -266,8 +263,8 @@ fonts.
<p>
<tscreen><verb>
<!doctype linuxdoc system>
<!-- Note the mailto: after my name. This allows the reader to click
on it to send me email -->
<!-- Note the mailto: after my name. This allows the reader of html
format to click on my email address to send me email -->
<article>
<title>Third Example (example3)
@ -286,12 +283,11 @@ While they will not show up in a plain text output, they will work
for other conversions.
<bf>boldface font&etago;bf> <em>emphasis font&etago;em> <sf>sans serif&etago;sf>
<sl>slanted font&etago;sl> <tt>typewriter font&etago;tt> <it>italics font&etago;it>
There's another way to get these same fonts by enclosing
the text in slashes like this:
<bf/boldface font/ <em/emphasis font/ <sf/sans serif/
<sl/slanted font/ <tt/typewriter font/ <it/italics font/
Note that DocBook doesn't have font tags so it may be best not to use
fonts if you plan to convert to DocBook.
There's another way to get these same fonts by enclosing the text in
slashes like this: <bf/boldface font/ <em/emphasis font/
<sf/sans serif/ <sl/slanted font/ <tt/typewriter font/
<it/italics font/ Note that DocBook doesn't have font tags so it may
be best not to use fonts if you plan to convert to DocBook.
<sect> Links <label id="links_">
<p> You may create links (something that html browsers may click on to
@ -317,7 +313,7 @@ not even need to explain where the link leads to since it's obvious by
the name.
<sect> Prohibited Characters
<p> Anything you type between angle brackets will be interpreted as a
<p> Any word you type between angle brackets will be interpreted as a
tag. But what if you want to display a tag in a document? For this
you use a code word for the angle characters.
@ -327,21 +323,23 @@ course it doesn't actually start any paragraph, but it will appear in
the converted document as <p>. These codes all start with an &
character. The ; after the lt is to separate it. It's not needed if
there is a space after it. For example: 3 &amp;lt 4. Actually, if
you know that its OK to use an unpaired > then you could have written
you knew that its OK to use an unpaired > then you could have written
<p> as &amp;lt;p>. This will not be mistakenly recognized as a tag
since there is no opening &lt;.
since there is no opening <. Actually 3 < 4 works fine too.
There are other characters that you can't put into the document text
directly. For & in an AT modem command use: AT&amp;amp;. If other
characters cause you trouble see example3 or the "guide" that comes
with linuxdoc-tools or sgml-tools.
characters cause you trouble (they seldom will) see <ref id="ch_codes"
name="Character Codes (macros)"> or the "guide" that comes with
linuxdoc-tools or sgml-tools.
<sect> Verbatim, Code & Newline
<sect1> Verbatim
<p> If you want to insure that lines are not joined together during
conversion to other formats, use verbatim (verb). Some things still
get recognized even though they are between verbatim tags. This
includes the macros starting with & and end tags with /.
<p> If you want to insure that it will look exactly like you typed it
after it's converted to other formats, use verbatim (verb). This is
useful for creating tables, etc. But some things still get recognized
as markup even though they are between verbatim tags. This includes
the macros starting with & and end tags with /.
<tscreen><verb>
% sgml2txt -f example.sgml
@ -442,29 +440,39 @@ To force a newline <newline>
&etago;verb>&etago;tscreen>
</verb></tscreen>
<sect2> Character Codes (macros).
<p>
<sect2> Character Codes (macros) <label id="ch_codes">
<p>You don't always need to use these.
<itemize>
<item>Use <tt>&amp;amp;</tt> for the ampersand (&amp;),
<item>Use <tt>&amp;lt;</tt> for a left bracket (&lt;),
<item>Use <tt>&amp;gt;</tt> for a right bracket (&gt),
<item>Use <tt>&amp;etago;</tt> for a left bracket with a slash
(<tt>&etago;</tt>)
</itemize>
Use of these are optional and I seldom use them. <itemize>
<item>Use <tt>``</tt> and <tt>''</tt> for opening and closing double
quotes
<item>Use <tt>&amp;shy;</tt> for a soft hyphen (that is, an indication
that this is a good place to break a very long word to insert a
hyphen for horizontal justification).
</itemize>
Only use these if LinuxDoc complains about it or fails to generate
them in the formated document. I've seldom had to use them.
<itemize>
<item>Use <tt>&amp;dollar;</tt> for a dollar sign (&dollar;),
<item>Use <tt>&amp;num;</tt> for a hash (&num;),
<item>Use <tt>&amp;percnt;</tt> for a percent (&percnt;),
<item>Use <tt>&amp;tilde;</tt> for a tilde (&tilde;),
<item>Use <tt>``</tt> and <tt>''</tt> for quotes, or use
<tt>&amp;dquot;</tt> for &dquot;.
<item>Use <tt>&amp;shy;</tt> for a soft hyphen (that is, an indication
that this is a good place to break a word for horizontal justification).
<item>Use <tt>&amp;dquot;</tt> for ".
</itemize>
<sect> Getting/Using the LinuxDoc Software
<p> You could write a LinuxDoc document without having any LinuxDoc
software. However, it's likely that it would contain some errors in
the tags (or their use) so that it would be returned to you for
correction. Even if there were no errors, the results likely would
correction. Even if there were no errors, the results might not
not look quite right. So it's best for you to have the software to
convert your source code on your computer.
@ -501,7 +509,7 @@ it's not required.
only guessing. I use ?? if I'm not sure.
<item> Make sure that you are covering the most recent version of the
available software.
<item> Consider including a "FAQ" section. It might also be called
<item> Consider including a "FAQ" section or sections called
"Common Problems" or "Trouble Shooting".
<item> Be sure to copyright it in your name and include a license
which meets the requirements stated in the LDP manifesto.
@ -511,20 +519,18 @@ it's not required.
<item> Lastly, be prepared to receive email questions and comments
from readers. How much you help people is up to you but you should
make use of good suggestions and reports of errors. You may also
get some "thank you" email as well as well as mail from people asking
for help who never even looked at your HOWTO.
get some "thank you for writing this" email.
</itemize>
<sect1> Submitting the HOWTO, etc.
<p> After you have written the HOWTO, email the SGML source to
submit@en.tldp.org. Then all you need to do is to keep the HOWTO
submit@linuxdoc.org. Then all you need to do is to keep the HOWTO
up-to date by submitting periodic updates to the same email as you
used for the first edition.
<sect> More Information
<p> There's a forthcoming HOWTO about LinuxDoc that covers it in much
greater detail than this mini-HOWTO. To be released sometime in April
2001 ??
<p> There's a HOWTO: Linuxdoc-Reference that covers it in much
greater detail than this mini-HOWTO.
</article>

View File

@ -3,11 +3,12 @@
<title> Modem-HOWTO
<author>David S.Lawyer
<tt><url url="mailto:dave@lafn.org"></tt>
<date> v0.31, November 2003
<date> v0.32, December 2003
<!--
Change log: + => added more info ++ => added new topic
v0.31 Mgetty dial-in, setserial rewritten
v0.32 Dec. 2003: Still newer gromitkc url w/o pop ups; more on devfs
v0.31 Nov. 2003: Mgetty dial-in, setserial rewritten
v0.30 August 2003 New gromitkc url, some internals have FIFO overrun
v0.29 July 2003 New gromitkc url, but many links in it are broken
v0.28 June 2003 Parallel port modems, lockfile permissions for wvdial
@ -153,9 +154,9 @@ respective owners. <!-- license.D end -->
"Hayes" is a trademark of Microcomputer Products Inc. I use
"winmodem" to mean any modem which requires MS-Windows and not in the
trademark sense. All other trademarks belong to their respective
owners.
"winmodem" to mean any modem which originally required MS-Windows and
not in the trademark sense. All other trademarks belong to their
respective owners.
<sect2> Credits
<p> The following is only a rough approximation of how this this
@ -185,7 +186,7 @@ send me any other info that you think belongs in this document.
Your problem might be solved in the latest version. It will be
available to browse and/or download at LDP mirror sites. For a list
of such sites see: <url url="http://www.tldp.org/mirrors.html"> If you
only want to quickly compare the date of this the version v0.31, November 2003 with
only want to quickly compare the date of this the version v0.32, December 2003 with
the date of the latest version go to: <url
url="http://www.tldp.org/HOWTO/Modem-HOWTO.html">
@ -194,8 +195,9 @@ url="http://www.tldp.org/HOWTO/Modem-HOWTO.html">
the source file (in linuxdoc format) at <url
url="http://www.ibiblio.org/pub/linux/docs/HOWTO/other-formats/sgml/Modem-HOWTO.sgml.gz">.
<itemize>
<item>v0.31 Mgetty dial-in, setserial rewritten
<item>v0.30 August 2003 New gromitkc url
<item>v0.32 Dec. 2003: Still newer gromitkc url w/o pop ups; more on devfs
<item>v0.31 Nov. 2003: Mgetty dial-in, setserial rewritten
<item>v0.30 August 2003: New gromitkc url
<item>v0.29 July 2003 New gromitkc url, but many links in it are broken
<item>v0.28 June 2003: Parallel port modems, lockfile permissions for wvdial
<item>v0.27 May 2003: "Flow control" improved
@ -208,43 +210,46 @@ url="http://www.ibiblio.org/pub/linux/docs/HOWTO/other-formats/sgml/Modem-HOWTO.
</itemize>
<sect1> What is a Modem ? <label id="what_is_modem">
<p> A modem is a device that lets one send digital signals over an
ordinary telephone line not designed for digital signals. If
telephone lines were all digital then you wouldn't need a modem. It
permits your computer to connect to and communicate with the rest of
the world. When you use a modem, you normally use a communication
program or web browser to utilize the modem and dial-out on a
telephone line. Advanced modem users can set things up so that others
may phone in to them and use their computer. This is called
<p> A modem (or analog modem) is a device that lets one send digital
signals over an ordinary telephone line not designed for digital
signals. If telephone lines were all digital then you wouldn't need a
modem. But sometimes, a substitute for an analog modem, connected to
a digital phone line, is imprecisely called a "digital modem". A
modem permits your computer to connect to and communicate with the
rest of the world. When you use a modem, you normally use a
communication program or web browser to utilize the modem and dial-out
on a telephone line. Advanced modem users can set things up so that
others may phone in to them and use their computer. This is called
"dial-in".
There are four basic types of modems for a PC: external, USB, internal
and built-in. The external and USB set on your desk outside the PC
while the other two types are not visible since they're inside the PC.
Sometimes the USB type is called "USB external". The external serial
modem plugs into a connector on the back of the PC known as a "serial
port". The USB modem plugs into the USB bus cable. See <ref
id="usb_" name="USB Modems">. The internal modem is a card that is
inserted inside the computer. The built-in modem is part of the
motherboard and is thus built into the computer. It's is just like an
internal modem except it can't be removed or replaced. As of 2001,
built-in modems are primarily for laptops. What is said in this HOWTO
regarding internal modems will generally apply also to built-in
There are four basic types of modems for a PC: external, USB,
internal, and built-in. The external and USB set on your desk outside
the PC while the other two types are not visible since they're inside
the PC. Sometimes the USB type is called "USB external". The
external serial modem plugs into a connector on the back of the PC
known as a "serial port". The USB modem plugs into the USB bus cable.
See <ref id="usb_" name="USB Modems">. The internal modem is a card
that is inserted inside the computer. The built-in modem is part of
the motherboard and is thus built into the computer. It's is just
like an internal modem except it can't be removed or replaced. As of
2001, built-in modems are primarily for laptops. What is said in this
HOWTO regarding internal modems will generally apply also to built-in
modems.
For a more detailed comparison see <ref id="int_vs_ext" name="External
vs. Internal">. When you get an internal or, built-in, modem,
you also get a dedicated serial port (which can only be used with the
modem and not with anything else such as another modem or a printer).
In Linux, the common serial ports are named ttyS0, ttyS1, etc.
(usually corresponding respectively to COM1, COM2, etc. in
Dos/Windows). But in special cases, the names are longer: ttySHCF0 is
the 0th serial port for a type of winmodem (HCF = Host Controlled
Family). New types of serial ports just add some more letter to ttyS.
In Linux, the common serial ports are named ttyS0, ttyS1, etc. (or
tts/0, tts/1 for the device file system (devfs). These ports usually
corresponding respectively to COM1, COM2, etc. in Dos/Windows). But
in special cases, the names are longer: ttySHCF0 is the 0th serial
port for a type of winmodem (HCF = Host Controlled Family). New types
of serial ports just add some more letter to ttyS.
For the new devfs the common serial ports are all in the /dev/ttys/
directory and named 0, 1, etc. See <ref id="basics_" name="Modem &
Serial Port Basics"> for more details on modems and serial ports.
See <ref id="basics_" name="Modem &
Serial Port Basics"> for more details on how modems and serial ports
work.
With a USB modem, the driver simulates a serial port at for example
/dev/ttySHCFUSB or /dev/usb/asm/0 (for devfs).
@ -286,11 +291,11 @@ name="All Modems"> for further instructions.
<p> The first thing to do is to make sure that the modem will work
under Linux since (as of 2002) many modems don't. If it's a
"winmodem" you'll need a driver for it (if one exists). See <url
url="http://free.hostdepartment.com/g/gromitkc/winmodem.html" name="modem
list"> and <ref id="soft_modem" name="Software-based Modems
(winmodems)">. If the modem is both PnP and directly supported by the
serial driver (kernel 2.4 +) or by a winmodem driver then there is no
configuring for you to do since the driver should configure it.
url="http://flash.to/modem" name="modem list"> and <ref
id="soft_modem" name="Software-based Modems (winmodems)">. If the
modem is both PnP and directly supported by the serial driver (kernel
2.4 +) or by a winmodem driver then there is no configuring for you to
do since the driver should configure it.
To physically install a modem card, remove the cover of the PC by
/removing some screws. Find a matching vacant slot for the card next
@ -593,8 +598,9 @@ details.
<item> <url url="http://linmodems.org"> is a project to turn winmodems
into linmodems. Has a mailing list.
<item>Conexant+Rockwell-modem-HOWTO
<item><url url="http://free.hostdepartment.com/g/gromitkc/winmodem.html"
name="big modem list">. Has links to linmodem info.
<item><url url="http://flash.to/modem" name="modem list"> Has links to
linmodem info.
<item> PCTel-HSP-MicroModem-Configuration-mini-HOWTO
</itemize>
@ -739,9 +745,9 @@ software which uses the modem.
<item> <ref id="soft_modem" name="Software-based Modems (winmodems,
linmodems)"> Only about half have a Linux driver available.
<item> <ref id="dsp_" name="MWave and DSP Modems"> might work, but only if
you first start Windows/Dos each time you power on your PC
<item> Modems with <ref id="rpi_" name="RPI (Rockwell)"> drivers work
but with reduced performance
you first start Windows/Dos each time you power on your PC.
<item> Modems with <ref id="rpi_" name="Old Rockwell (RPI) Drivers">
work but with reduced performance.
</itemize>
<sect2> MWave and some DSP Modems <label id="dsp_">
@ -792,7 +798,7 @@ since its simulation of a serial port is non-standard. The patch and
other info for using this modem with Linux is at <url
url="http://quinine.pharmacy.ohio-state.edu/~ejolson/linux/newcom.html">.
<sect2> Rockwell (RPI) Drivers <label id="rpi_">
<sect2> Old Rockwell (RPI) Drivers <label id="rpi_">
<p> Some older Rockwell chips need Rockwell RPI (Rockwell
Protocol Interface) drivers for compression and error correction.
They can still be used with Linux even though the driver software
@ -924,7 +930,7 @@ name="What do I need to be an ISP?">. Cyclades promotes their own
products here so please do comparison shopping before buying anything.
<sect> Serial Port and Modem Basics <label id="basics_">
<!-- basics.H begin <sect> Serial Port and Modem Basics
<!-- basics.D begin <sect> Serial Port and Modem Basics
or <sect> Serial Port Basics In SS and MM -->
<!-- Change log:
Nov. '99: 2 serial drivers concurrently NG
@ -1510,7 +1516,7 @@ to the first but with the correct IRQ, etc. See
See <ref id="set_serial" name="What is Setserial"> for more info on
<tt/setserial/.
<!-- basics.H end -->
<!-- basics.D end -->
<sect> Configuring Overview
@ -1551,7 +1557,7 @@ your modem is on, then you can try to find it yourself per the next
section but it may not be easy.
<sect>Locating the Serial Port: IO address, IRQs <label id="locate_port">
<!-- locate.H begin (in MM, SS)
<!-- locate.D begin (in MM, SS)
<sect>Configuring the Serial Port
Change-log:
Aug. 2001: removed mention of patch to convert Linux to a PnP OS;
@ -1559,30 +1565,34 @@ better explanation of PCI
July 2001: Improve PCI part. Remove "card" since serial ports are
often built into the motherboard.
Feb. 2003: Removed request to send info to Ted Tso.
Dec. 2003: May need to create /dev/ttyS4 even if its auto detected
-->
<sect1> IO & IRQ Overview
<p> For a serial port to work properly, it must have both an IRQ and
an IO address. Without an IO address, it can't be located and will not
work at all. Without an IRQ it will need to use inefficient polling
methods for which one must set the IRQ to 0. So every serial port
needs an IO address and IRQ. In olden days this was set by jumpers on
a serial port card. Today it's set by digital signals sent to the
hardware and this is part of "Plug-and-Play (PnP).
methods for which one must set the IRQ to 0 in the serial driver. So
every serial port needs an IO address and IRQ. In olden days this was
set by jumpers on a serial port card. Today it's set by digital
signals sent to the hardware and this is part of "Plug-and-Play (PnP).
It all should get configured automatically so that you only need to
read this if you're having problems or if you want to understand how
it works.
The driver must also know both the IO address and IRQ so that it can
locate the port chip. Modern serial port drivers (kernel 2.4) try to
determine this by PnP methods so one doesn't need to tell them (by
using "setserial"). Such a driver might also set an IO address or
enable the hardware. But unfortunately, there is some PCI serial port
hardware that the driver doesn't recognize so you may need to enable
the port yourself. See <ref id="pci_enabled" name="PCI: Enabling a
disabled port">
talk to the port chip. Modern serial port drivers (kernel 2.4) try to
determine this by PnP methods so one doesn't normally need to tell the driver
(by using "setserial"). The modern driver might also enable the serial
port and set an IO address or IRQ in the hardware. But unfortunately,
there is some PCI serial port hardware that the driver doesn't
recognize so you might need to enable the port yourself. See <ref
id="pci_enabled" name="PCI: Enabling a disabled port">
The driver also probes possible ISA serial port addresses to see if
The driver also probes likely ISA serial port addresses to see if
there are any serial ports there. This works for the case of jumpers
and sometimes works for a PnP port when the driver doesn't do PnP
(prior to kernel 2.4).
and sometimes works for a ISA PnP port when the driver doesn't do ISA
PnP (prior to kernel 2.4).
Locating the serial port by giving it an IRQ and IO address is
low-level configuring. It's often automatically done by the serial
@ -1590,19 +1600,21 @@ driver but sometimes you have to do it yourself. What follows repeats
what was said above but in more detail.
The low-level configuring consists of assigning an IO address, IRQ,
and name (such as ttyS2). This IO-IRQ pair must be set in both the
hardware and told to the serial driver. Only the driver needs to know
the name.We could call this "io-irq" configuring for short. The
"setserial" program is one way to tell the driver. The other way is
for the driver to use PnP methods to determine/set the IO/IRQ and then
remember what it did. For jumpers you must always use "setserial".
If you need to configure but don't understand certain details it's
easy to get into trouble.
and name (such as ttyS2 = tts/2). This IO-IRQ pair must be set in both the
hardware and told to the serial driver. And the driver needs to call
this pair a name (such as ttyS2). We could call this "io-irq"
configuring for short. The "setserial" program is one way to tell the
driver. The other way is for the driver to use PnP methods to
determine/set the IO/IRQ and then remember what it did. For jumpers
there is no PnP but the driver might detect the port if the jumpers
are set to the usual I0/IRQ. If you need to configure but don't
understand certain details it's easy to get into trouble.
When Linux starts, some effort is made to detect and configure
(low-level) a few serial ports. Exactly what happens depends on your
BIOS, hardware, Linux distribution, etc. If the serial ports work OK,
there may be no need for you to do any more low-level configuring.
(low-level) serial ports. Exactly what happens depends on your BIOS,
hardware, Linux distribution, kernel version, etc. If the serial
ports work OK, there may be no need for you to do any more low-level
configuring.
If you're having problems with the serial ports, then you may need to
do low-level configuring. If you have kernel 2.2 or lower,
@ -1625,15 +1637,16 @@ cause people more trouble than the high-level stuff, although for many
it's fully automatic and there is no configuring to be done. Until
the serial driver knows the correct IRQ and IO address, the port will
not usually not work at all. Also, PnP ports can be disabled so that
they can't be found (except with PnP tools such as lspci).
Applications, and utilities such as "setserial" and "scanport" (Debian
only ??) don't use PnP tools and thus can't detect
they don't have any IO address and thus can't be used. However PnP
tools such as lspci should be able to find them. Applications, and
utilities such as "setserial" and "scanport" (Debian only ??) only
probe I0 addresses, don't use PnP tools, and thus can't detect
disabled ports.
Even if an ISA port can be found by the probing of the serial driver
it may work extremely slow if the IRQ is wrong. See <ref id="slow_"
name="Extremely Slow: Text appears on the screen slowly after long
delays">. PCI ports are less likely to get the IRQ wrong.
Even if an ISA port can be found by the probing done by the serial
driver it may work extremely slow if the IRQ is wrong. See <ref
id="slow_" name="Extremely Slow: Text appears on the screen slowly
after long delays">. PCI ports are less likely to get the IRQ wrong.
In the Wintel world, the IO address and IRQ are called "resources" and
we are thus configuring certain resources. But there are many other
@ -1643,9 +1656,9 @@ name (ttyS2 for example) and putting two values (an IRQ number and IO
address) into two places:
<enum>
<item> the device driver (often by running "<tt/setserial/" at
boot-time)
<item> the device driver (done by PnP or "<tt/setserial/")
<item> configuration registers of the serial port hardware itself
(done by PnP or jumpers)
</enum>
You may watch the start-up (= boot-time) messages. They are usually
@ -1661,18 +1674,30 @@ Boot-time messages">.
Although some PCI modems are "winmodems" without a Linux driver
(and will not work under Linux), other PCI modems will often work OK
under Linux. If it's a software modem, then you need to find a driver
for it. See Linmodem-HOWTO.
for it since support for "winmodems" is not built into ther serial
driver. See Linmodem-HOWTO.
If you have kernel 2.4, then there should be support for PnP (either
built-in or by modules). Some PCI serial ports can be automatically
detected and low-level configured by the serial driver. Others may
not be.
No support exists in the serial driver for software modems. But
separate drivers exist for many of them.Kernel 2.2 had no support for PCI serial ports (although some people
got them working anyway). The 2.4 serial driver will read the id
number digitally stored in the serial hardware to determine how to
support it (if it knows how). It should assign an I/O address to it,
determine it's IRQ, etc. So you don't need to use "setserial" for it.
While kernel 2.2 supported PCI in general, it had no support for PCI
serial ports (although some people got them working anyway). The 2.4
serial driver will read the id number digitally stored in the serial
hardware to determine how to support it (if it knows how). It should
assign an I/O address to it, determine it's IRQ, etc. So you don't
need to use "setserial" for it.
There is a possible problem if you don't use the device filesystem.
The driver may assign the port to say "<tt/ttyS04" per a boot-time
message (use <tt/dmesg/ to see it). But if you don't have a "file" /dev/ttyS4
then the port will not work. So you will then need to create it,
using<newline>
<tt>cd /dev</tt> and then <tt>./MAKEDEV ttyS4</tt><newline>
For the device filesystem, the driver should create the device
<tt>tts/1</tt>
<!--
<sect2> Requesting that future drivers support your serial port
<p>If you have a
@ -2152,18 +2177,15 @@ you want to let a PnP BIOS do such configuring. Not all PnP BIOS can
do this. The BIOS usually has a CMOS menu for setting up the first
two serial ports. This menu may be hard to find. For an "Award"
BIOS it was found under "chipset features setup" There is often
little to choose from. Unless otherwise indicated in a menu, these
first two ports normally get set at the standard IO addresses and
IRQs. See <ref id="dev_nos" name="Serial Port Device Names &
Numbers">
little to choose from. For ISA serial ports, the first two ports
normally get set at the standard IO addresses and IRQs. See <ref
id="dev_nos" name="More on Serial Port Names">
Whether you like it or not, when you start up a PC a PnP BIOS starts
Whether you like it or not, when you start up a PC, a PnP BIOS starts
to do PnP (io-irq) configuring of hardware devices. It may do the job
partially and turn the rest over to a PnP OS (which Linux is in some
sense) or if thinks you don't have a PnP OS it may fully configure all
the PnP devices but not configure the device drivers. This is what
you want but it's not always easy to figure out exactly what the PnP
BIOS has done.
the PnP devices but not configure the device drivers.
If you tell the BIOS that you don't have a PnP OS, then the PnP BIOS
should do the configuring of all PnP serial ports --not just the first
@ -2194,7 +2216,7 @@ it shows you may not be clear to a novice.
for it to be done by PnP) you also need to insure that the "setserial"
command is run each time you start Linux. See the subsection <ref
id="sets_boot_time" name="Boot-time Configuration">
<!-- configure.H end-->
<!-- configure.D end-->
<sect> Configuring the Serial Driver (high-level) "stty"
@ -2438,7 +2460,7 @@ cases.
Dialing"
</itemize>
<sect1> Other AT Modem Commands <label id="modem_commands">
<sect1>Other AT Modem Commands <label id="modem_commands">
<p> For dial-in see <ref
id="dial-in_conf" name="Dial-in Modem Configuration">. The rest of
this section is mostly what was in the old Serial-HOWTO. All strings
@ -2546,35 +2568,63 @@ AT-command (or idle) state.
<sect> Serial Port Devices /dev/ttyS2, (or /dev/ttys/2) etc.
<label id="ttySN_">
<!-- device_dir.H begin
<!-- dev_names.D begin
in Modem and Serial HOWTOs
Nov. 2003: rewrite
<sect> Serial Port Devices /dev/ttyS2, etc. -->
<p> For creating devices in the device directory see:
the Serial-HOWTO: "Creating Devices In the /dev directory".
<sect1>Serial Port Names: ttyS2, tts/1, etc.
<p>Once upon a time the names of the serial ports were simple. Except
for some multiport serial cards they were named /dev/ttyS0,
/dev/ttyS1, etc. Then around the year 2000 came the USB bus with
names like /dev/ttyUSB0 and /dev/ttyACM1 (for the ACM modem on the USB
bus). A little later with kernel 2.4 came the "device file system"
(devfs) with a whole new set of names for everything. ttyS1 is now
tts/1, ttyUSB1 is now /usb/tts/1, and ttyACM1 is now /usb/acm/1.
Note that the the number 1 above is just an example. It could be
replaced by 0, 2, 3, etc. The use of the device file system is
optional and many are still using the legacy system. Others use devfs
but have the old legacy names linked (via symlinks) to the new names.
So they use the new system with the old names but may also use some of
the new names for some devices. It's even possible ?? to use
the new names for the old (non-devfs) system.
<sect1>Devfs (The Device File System)
<p>Starting with kernel 2.4, a new system of device naming was
created. It makes it easy to deal with a huge number of devices. But
there's an option to continue using the old names. However, a new
device may not have an old-style name so then one must use the new
devfs. For a detailed description of it see: <url
url="http://www.atnf.csiro.au/~rgooch/linux/docs/devfs.html"> Also see
the kernel documentation tree: filesystems/devfs.
<sect1> Devfs (The new Device File System)
<p> This is a new type of device interface to Linux. It's optional
starting with kernel 2.4. It's more efficient than the conventional
interface and makes it easy to deal with a huge number of devices.
The device names have all changed as well. But there's an option to
continue using the old names. For a detailed description of it see:
<url url="http://www.atnf.csiro.au/~rgooch/linux/docs/devfs.html">
Also see the kernel documentation tree: filesystems/devfs.
The name changes (if used) are: ttyS2 becomes tts/2 (Serial port),
tty3 becomes vc/3 (Virtual Console), ptyp1 becomes pty/m1 (PTY
Some more examples of name changes are: ttyS2 becomes tts/2 (Serial
port), tty3 becomes vc/3 (Virtual Console), ptyp1 becomes pty/m1 (PTY
master), ttyp2 becomes pty/s2 (PTY slave). "tts" looks like a
directory which contains devices "files": 0, 1, 2, etc. All of these
new names should still be in the /dev directory although optionally
one may put them elsewhere.
<sect1>Serial Port Device Names & Numbers <label id="dev_nos">
<p> Devices in Linux have major and minor numbers (unless you use the
new devfs). The serial port ttySx (x=0,1,2, etc.) has major number 4.
You may see this (and the minor numbers too) by typing: "ls -l ttyS*"
in the /dev directory.
Device names in the /dev directory are created automatically by the
corresponding driver. Thus, if serial support comes from a module and
that module isn't loaded yet, there will not be any serial devices in
the /dev directory. This can be confusing: you physically have serial
ports but don't see them in the /dev directory. However, if a device
name is told to a communication program and the serial module isn't
loaded, the kernel is supposed to try to find a driver for it and
create a name for it in the /dev directory.
This is works OK if it finds a driver. But suppose there is no driver
found for it. For example, if you try to use "setserial" to configure
a port that the driver failed to detect, it claims there is no such
port. How does one create a devfs port in this case?
<sect1>Legacy Serial Port Device Names & Numbers
<p> Before the device file system, devices in Linux had major and
minor numbers. The serial port ttySx (x=0,1,2, etc.) was major number
4. You could see this (and the minor numbers too) by typing: "ls -l
ttyS*" in the /dev directory. To find the old device names for various
devices, see the "devices" file in the kernel documentation.
There formerly was a "cua" name for each serial port and it behaved
just a little differently. For example, ttyS2 would correspond to
@ -2583,28 +2633,40 @@ minor numbers started at 64. You may still have the cua devices in
your /dev directory but they are now deprecated. For details see
Modem-HOWTO, section: cua Device Obsolete.
Dos/Windows use the COM name while the <tt/setserial/ program uses
tty00, tty01, etc. Don't confuse these with dev/tty0, dev/tty1, etc.
which are used for the console (your PC monitor) but are not serial
ports. The table below is for the "standard" case (but yours could be
different). The major/minor numbers don't exist with the devfs. For
the PCI bus the IO addresses are different.
For creating the old devices in the device directory see:
the Serial-HOWTO: "Creating Devices In the /dev directory".
<sect1>More on Serial Port Names <label id="dev_nos">
<p>Dos/Windows use the COM name while the messages from the serial driver
use ttyS00, ttyS01, etc. Older serial drivers (2001 ?) used just
tty00, tty01, etc.
<p>The tables below shows some examples of serial device names. The
IO addresses are the default addresses for the old ISA bus (not for
the newer PCI and USB buses). The major/minor numbers aren't needed
for the devfs, but they often exist anyway just in case the devfs
method of locating drivers can't be used.
<verb>
ISA IO devfs usb
dos major minor address devfs devfs usb acm modem
COM1 /dev/ttyS0 4, 64; 3F8 /dev/tts/0 /dev/usb/tts/0 /dev/usb/acm/0
COM2 /dev/ttyS1 4, 65; 2F8 /dev/tts/1 /dev/usb/tts/1 /dev/usb/acm/1
COM3 /dev/ttyS2 4, 66; 3E8 /dev/tts/2 /dev/usb/tts/2 /dev/usb/acm/2
COM4 /dev/ttyS3 4, 67; 2E8 /dev/tts/3 /dev/usb/tts/3 /dev/usb/acm/3
old old ISA IO
dos devfs old name major minor address
COM1 /dev/tts/0 /dev/ttyS0 4, 64; 3F8
COM2 /dev/tts/1 /dev/ttyS1 4, 65; 2F8
COM3 /dev/tts/2 /dev/ttyS2 4, 66; 3E8
COM4 /dev/tts/3 /dev/ttyS3 4, 67; 2E8
DEVICES-ON-THE-USB-BUS (acm is a certain type of modem)
devfs legacy name devfs legacy name
/dev/usb/tts/0 /dev/ttyUSB0 | /dev/usb/acm/0 /dev/ttyACM0
/dev/usb/tts/1 /dev/ttyUSB1 | /dev/usb/acm/1 /dev/ttyACM1
/dev/usb/tts/2 /dev/ttyUSB2 | /dev/usb/acm/2 /dev/ttyACM2
/dev/usb/tts/3 /dev/ttyUSB3 | /dev/usb/acm/3 /dev/ttyACM3
</verb>
<sect1> USB (Universal Serial Bus) Ports
<p>The serial ports on the USB are: /dev/ttyUSB0, /dev/ttyUSB1, etc.
The devfs names for these are: /dev/usb/tts/0, /dev/usb/tts/1, etc.
For many modems they are /dev/usb/acm/0, etc. (in devfs notation).
For more info see the usb subdirectory in the kernel documentation
directory for files: acm and usb-serial.
<sect1> USB (Universal Serial Bus) Serial Ports
<p> For more info see the usb subdirectory in the kernel documentation
directory for files: usb-serial, acm, etc.
<sect1> Link ttySN to /dev/modem
<p> On some installations, two extra devices will be created,
@ -2614,12 +2676,12 @@ device in <tt>/dev</tt> which you specified during the installation
Except if you have a bus mouse, then <tt>/dev/mouse</tt> will point to
the bus mouse device).
Formerly (in the 1990s) the use of <tt>/dev/modem</tt> was discouraged
since lock files might not realize that it was really say
<tt>/dev/ttyS2</tt>. The newer lock file system doesn't fall into
this trap so it's now OK to use such links.
Historical note: Formerly (in the 1990s) the use of
<tt>/dev/modem</tt> was discouraged since lock files might not realize
that it was really say <tt>/dev/ttyS2</tt>. The newer lock file
system doesn't fall into this trap so it's now OK to use such links.
<!-- device_dir.H end -->
<!-- dev_names.D end -->
<sect1> cua Device Obsolete <label id="cua_dev">
@ -2648,7 +2710,7 @@ should be avoided if possible.
<sect>Interesting Programs You Should Know About
<sect1>What is setserial ? <label id="set_serial">
<!-- setserial.H begin (in MM TT SS)
<!-- setserial.D begin (in MM TT SS)
<sect1>What is Setserial ? <label id="set_serial">
Change Log:
May 2000: <sect2> IRQs near end ttyS0 -> ttyS1 + clarity
@ -2656,7 +2718,7 @@ Nov. 2000: auto_irq may work on the 2nd try
Dec. 2000: saving state of serial module
June 2001 OK to use setserial with Laptops
Nov. 2002 Debian's /var/lib/serial.conf
Nov. 2003 Major revision, since today, plug-and-play dominates
Nov. 2003 Major revision. Plug-and-play dominates
/var/lib/setserial/autoserial.conf
-->
<p> This part is in 3 HOWTOs: Modem, Serial, and Text-Terminal. There
@ -3068,7 +3130,7 @@ shouldn't save anything for PCMCIA cards (but Debian did until
2.15-7). Of course, it's always OK to use setserial to find out how
the driver is configured for PCMCIA cards.
<!-- setserial.H end -->
<!-- setserial.D end -->
<sect1> What is isapnp ?
@ -4104,7 +4166,7 @@ do it. If the two modems on a connection were to be set this way to
different speeds, then they couldn't communicate with each other.
<sect1> Can't Set a High Enough Speed <label id="high_speed">
<!-- high_speed.H begin In Serial and Modem HOWTOs but some of the speed
<!-- high_speed.D begin In Serial and Modem HOWTOs but some of the speed
section is unique to each HOWTO.
Feb. 2003,
-->
@ -4174,15 +4236,15 @@ Normally, if you specify a speed of 115.2k (in your communication
program or by stty) then the serial driver sets the port hardware to
divisor 1 which sets the highest speed.
Besides using a very high divisor to set high speed the conventional
Besides using a very high divisor to set high speed, the conventional
way to do it is as follows: If you happen to have hardware with a
maximum speed of say 230.4k (and the 230.4k speed has been enabled),
then specifying 115.2k will result in divisor 1. For some hardware
this will actually give you 230.4k. This is double the speed that you
set. In fact, for any speed you set, the actual speed will be double.
If you had hardware that could run at 460.8k then the actual speed
would be quadruple what you set. All the above assumes that you don't
use "setserial" to modify things.
maximum speed of say 230.4k (and the 230.4k speed has been enabled in
the hardware), then specifying 115.2k will result in divisor 1. For
some hardware this will actually give you 230.4k. This is double the
speed that you set. In fact, for any speed you set, the actual speed
will be double. If you had hardware that could run at 460.8k then the
actual speed would be quadruple what you set. All the above assumes
that you don't use "setserial" to modify things.
<sect2> Setting the divisor, speed accounting
<p> To correct this accounting (but not always fix the problem) you
@ -4191,11 +4253,12 @@ speed of your port such as 230.4k. Then if you set the speed (by your
application or by stty) to 230.4k, a divisor of 1 will be used and
you'll get the same speed as you set.
If you have old software which will not permit such a high speed (but
your hardware has it enabled) then you might want to look into using
the "spd_cust" parameter for setserial with "divisor 1". Then when
you tell the application that the speed it 38,400, it will use divisor
1 and get the highest speed.
If you have very old software which will not allow you to tell it such
a high speed (but your hardware has it enabled) then you might want to
look into using the "spd_cust" parameter. This allows you to tell the
application that the speed is 38,400 but the actual speed for this
case is determined by the value of "divisor" which has also been set
in setserial. I think it best to try to avoid using this kludge.
There are some brands of UARTs that uses a very high divisor to set
high speeds. There isn't any satisfactory way to use "setserial" (say
@ -4211,11 +4274,12 @@ speed of 115.2k. The reason the crystal frequency needs to be higher
is so that this high crystal speed can generate clock ticks to take a
number of samples of each bit to determine if it's a 1 or a 0.
Actually, the 1.8432 MHz "crystal frequency" is obtained from a 18.432
MHz crystal oscillator by dividing by 10 before being fed to the UART.
Other schemes are also possible as long as the UART performs properly.
Actually, the 1.8432 MHz "crystal frequency" may be obtained from a
18.432 MHz crystal oscillator by dividing by 10 before being fed to
the UART. Other schemes are also possible as long as the UART
performs properly.
<!-- high_speed.H end -->
<!-- high_speed.D end -->
<sect1> Speed Table <label id="speed_table">
@ -4348,11 +4412,20 @@ vgetty) features. See <ref id="mgetty_" name="About mgetty">
<tt/ps_getty/ package. See <ref id="uugetty_" name="About
getty_ps"></itemize>
<sect2> Other
<sect2>Network Connection
<p>
<itemize>
<item><tt/ser2net/
<item><tt/sredird/
</itemize>
<sect2>Other
<p> <itemize>
<item><tt/callback/ is where you dial out to a remote modem and then
that modem hangs up and calls you back (to save on phone bills).
<item><tt/xringd/ listens for rings and detects inter-ring times etc.
<item><tt/SLiRP/ and <tt/term/ provide a PPP-like service that you can
run in user space on a remote computer with a shell account.
See <ref id="term+slurp" name="term and SLiRP"> for more details
@ -4722,6 +4795,7 @@ Dec. '02: IO error may mean IRQ conflict or IO address conflict.
Jan. '03: LSR safety check error
Feb. '03: Interrupts may be shared on PCI Bus
June '03: Wvdial: busy message due to lockfile permissions
Dec. '03: Scanport can also detect an enabled PnP port
-->
<sect1>(The following subsections are in both the Serial and Modem HOWTOs)
@ -4732,17 +4806,16 @@ often because it's disabled and has no address (PnP hasn't enabled it)
or that it is enabled but is not at the I/O address that setserial
thinks it's at. Thus it can't be found.
First check BIOS messages at boot-time (and possible the BIOS menu for
the serial port). For the PCI bus use lspci or scanpci. If it's an
ISA bus PnP serial port, try "pnpdump --dumpregs" and/or see
First check BIOS messages at boot-time (and possibly the BIOS menu for
the serial port). Then for the PCI bus use lspci or scanpci. If it's
an ISA bus PnP serial port, try "pnpdump --dumpregs" and/or see
Plug-and-Play-HOWTO. If the port happens to be enabled then the
following two paragraphs may help find it:
For a non-PnP ISA legacy port, using "scanport" (Debian only ??) will
scan all bus ports and may discover an unknown port that could be a
serial port (but it doesn't probe the port). It could hang your PC.
You may try probing with setserial. See <ref id="probing_ss"
name="Probing">.
Using "scanport" (Debian only ??) will scan all enabled bus ports and
may discover an unknown port that could be a serial port (but it
doesn't probe the port). It could hang your PC. You may try probing
with setserial. See <ref id="probing_ss" name="Probing">.
If nothing seems to get thru the port it may be accessible but have a
bad interrupt. See <ref id="slow_" name="Extremely Slow: Text appears
@ -5035,7 +5108,7 @@ troubleshooting:
and tty/driver/serial).
</itemize>
<!-- troubleshooting.H end -->
<!-- troubleshooting.D end -->
<sect> Flash Upgrades
@ -5151,7 +5224,7 @@ than in the HOWTO.
<sect1> Web Sites <label id="web_sites">
<p> <itemize>
<item> Modem List of modems which work/don't_work under Linux
<url url="http://free.hostdepartment.com/g/gromitkc/winmodem.html">
<url url="http://flash.to/modem">
<item> <url url="http://serial.sourceforge.net/" name="Linux Serial
Driver home page"> Includes info about support for PCI modems.
<item>Hayes AT modem commands

File diff suppressed because it is too large Load Diff

View File

@ -1,13 +1,14 @@
<!doctype linuxdoc system>
<article>
<title>Text-Terminal-HOWTO</title>
<title> Text-Terminal-HOWTO
<author> David S. Lawyer <url url="mailto:dave@lafn.org">
<date> v1.33, November 2003
<date> v1.34, December 2003
<!--
Change log:
using minicom with directly connected terminals
v1.33 Nov. 2003: revised setserial section
v1.34 Dec. 2003: All ~ (tildes) are now in text (formatting problem with Linuxdoc)
v1.33 Nov. 2003: revised setserial section; using minicom with
directly connected terminals
v1.32: Sept. 2003: man page console_codes, name: serial
monitor/console, "init string" rewrite, netrik text browser, new url
for terminfo
@ -191,7 +192,7 @@ url="http://tldp.org/mirrors.html">. Various formats are
available. If you only want to quickly check the date of the latest
version look at <url
url="http://tldp.org/HOWTO/Text-Terminal-HOWTO.html">. The
version your are currently reading is: v1.33, November 2003 .
version your are currently reading is: v1.34, December 2003 .
<sect1>New in Recent Versions:
<p> For a full revision history going back to the first version see
@ -199,7 +200,10 @@ the source file (in linuxdoc format) at <url
url="http://www.ibiblio.org/pub/linux/docs/HOWTO/other-formats/sgml/Text-Terminal-HOWTO.sgml.gz">.
<itemize>
<item>v1.33 Nov. 2003: revised setserial section
<item>v1.34 Dec. 2003: All ~ (tildes) are now in text (formatting
problem with Linuxdoc)
<item>v1.33 Nov. 2003: revised setserial section; using minicom with
directly connected terminals
<item>v1.32: September 2003: man page console_codes, name: serial
monitor/console, "init string" rewrite, netrik text browser, new url
for terminfo
@ -208,9 +212,6 @@ devfs, removed all mention of obsolete /dev/cua, pin numbering, new
X-Terminal HOWTO, Hydra date is 1998 (not 1988), edited thin clients
<item>v1.30 Sept. 2002: fixed typos, redid Windows Terminal
Server (Linux client possible)
<item>v1.29 Mar. 2002: key-switch spring and bending "contact", getty:
Red Hat url, getty: source code -> executable code
about 20 typos fixed
</itemize>
<sect1> Related HOWTOs, etc. <label id="related_howtos">
@ -1395,10 +1396,11 @@ that 8-bit character codes have mostly replaced 7-bit ones, it's
better to use an 8-bit code which has both all the ASCII symbols plus
the non-ASCII characters for various languages.
ISO-646 (for 1972 and later) permits this. It specifies that the
above mentioned character codes may be borrowed, but doesn't specify
which national characters are to replace them. Some countries
standardized the replacements by registering them with ECMA.
ISO-646 (for 1972 and later) permits using National Replacement
Characters (7-bit). It specifies that the above mentioned character
codes may be borrowed, but doesn't specify which national characters
are to replace them. Some countries standardized the replacements
by registering them with ECMA.
Many terminals exist which support these national replacement
characters but you probably don't want to implement them unless you
@ -3798,7 +3800,7 @@ supply a shell script which runs <tt/setserial/ but seldom supply one
which runs <tt/stty/ since on seldom need it.
<sect1> Setserial <label id="set_serial">
<!-- setserial.H begin (in MM TT SS)
<!-- setserial.D begin (in MM TT SS)
<sect1>What is Setserial ? <label id="set_serial">
Change Log:
May 2000: <sect2> IRQs near end ttyS0 -> ttyS1 + clarity
@ -3806,7 +3808,7 @@ Nov. 2000: auto_irq may work on the 2nd try
Dec. 2000: saving state of serial module
June 2001 OK to use setserial with Laptops
Nov. 2002 Debian's /var/lib/serial.conf
Nov. 2003 Major revision, since today, plug-and-play dominates
Nov. 2003 Major revision. Plug-and-play dominates
/var/lib/setserial/autoserial.conf
-->
<p> This part is in 3 HOWTOs: Modem, Serial, and Text-Terminal. There
@ -4218,10 +4220,10 @@ shouldn't save anything for PCMCIA cards (but Debian did until
2.15-7). Of course, it's always OK to use setserial to find out how
the driver is configured for PCMCIA cards.
<!-- setserial.H end -->
<!-- setserial.D end -->
<sect1> Stty <label id="stty_">
<!-- stty.H begin <sect1> Stty <label id="stty_">
<!-- stty.D begin <sect1> Stty <label id="stty_">
In Serial and Text-Terminal -->
<sect2> Introduction
<p> <tt/stty/ does much of the configuration of the serial port but
@ -4417,7 +4419,7 @@ so that the low level stuff is done first. If you have directories in
the /etc tree where every file in them is executed at boot-time
(System V Init) then you could create a file named "stty" for this
purpose.
<!-- stty.H end -->
<!-- stty.D end -->
<sect1> Terminfo & Termcap (brief) <label id="termcap1">
@ -4930,9 +4932,9 @@ $endif
If the terminal is already in "application key mode" there's no need
to "set enable-keypad on". enable-keypad will send the terminal the
escape sequence named smkx in terminfo (which for wyse60 is \E~3 and
makes the arrow keys send D1-D3). Many other application send this
without needing to be told to do so.
escape sequence named smkx in terminfo (which for wyse60 is \E&tilde;3
and makes the arrow keys send D1-D3). Many other application send
this without needing to be told to do so.
<sect1>Color ls Corruption
<p> If <tt/ls/ is corrupting your terminal emulation with the color
@ -5812,7 +5814,7 @@ characters).
because the starting of the login shell has reconfigured the terminal
(to an incorrect setting) by a command which someone put into one of
the files that are run when you login and a shell starts. These files
include /etc/profile and ~/.bashrc. Look for a command starting with
include /etc/profile and &tilde;/.bashrc. Look for a command starting with
"stty" or "setserial" and make sure that it's correct. Even if it's
done OK in one initialization file, it may be reset incorrectly in
another initialization file that you are not aware of. Ways to get
@ -6070,6 +6072,7 @@ select "local" from a menu (or press a certain key). See <ref
id="enter_setup" name="Getting Into Set-Up (Configuration) Mode">.
<sect1> Serial Electrical Test Equipment <label id="ser_elect_test">
<!-- begin ser_elect_test.D. in Serial, Text-Terminal -->
<sect2> Breakout Gadgets, etc.
<p> While a multimeter (used as a voltmeter) may be all that you need
for just a few serial ports, simple special test equipment has been
@ -6127,7 +6130,7 @@ For the test for 12 V, Lick a finger and hold one test lead in it.
Put the other test lead on your tongue. If the lead on your tongue is
positive, there will be a noticeable taste. You might try this with
flashlight batteries first so you will know what taste to expect.
<!-- end ser_elect_test.D in Serial, Text-Terminal -->
<sect> Repair & Diagnose <label id="repair_">
@ -7338,7 +7341,7 @@ in use.
VR302, Width VR101 (also affects height). If you want to use it in
Native Personality, then the arrow-key codes will conflict with the
codes used in vi (such as ^L). To fix this set "Application key mode"
with ESC ~ 3. This results in the arrow keys sending 0xd1 - 0xd4.
with ESC &tilde; 3. This results in the arrow keys sending 0xd1 - 0xd4.
Due to a bug in the readline interface of the Bash shell, you need to
edit /etc/inputrc so that the arrow keys will work in Bash. See <ref
id="bash_bug" name="Bugs in Bash">
@ -7424,3 +7427,4 @@ the set-up (confusing menu design).
END OF Text-Terminal-HOWTO
</article>

View File

@ -4,7 +4,7 @@
<title>Linux User Group HOWTO
<author><url name="Rick Moen" url="mailto:%20rick@linuxmafia.com%20"></author>
<date>v1.7.4, 2003-12-27
<date>v1.7.5, 2004-01-09
<abstract>
The Linux User Group HOWTO is a guide to founding, maintaining, and
@ -30,20 +30,22 @@ tiny to colossal:
<item><bf>Diverse <url name="PDA / embedded / microcontroller / router"
url="http://www.uclinux.org/ports/"> devices:</bf>
<itemize>
<item>Advanced RISC Machines, Ltd. <url name="ARM" url="http://www.arm.uk.linux.org/"> family (StrongARM SA-1110, XScale, ARM6, ARM7, ARM2, ARM250, ARM3i, ARM610, ARM710, ARM720T, ARM920T)</item>
<item>Axis Communications <url name="ETRAX" url="http://developer.axis.com/software/"> ("CRIS" RISC architecture)</item>
<item>Advanced RISC Machines, Ltd. <url name="ARM" url="http://www.arm.uk.linux.org/"> family (StrongARM SA-1110, XScale, ARM6, ARM7, ARM2, ARM250, ARM3i, ARM610, ARM710, ARM720T, and ARM920T)</item>
<item>Analog Devices, Inc.'s <url name="Blackfin DSP" url="http://linuxdevices.com/news/NS9596714596.html"></item>
<item>Axis Communications <url name="ETRAX series" url="http://developer.axis.com/software/"> ("CRIS" = Code Reduced Instruction Set RISC architecture)</item>
<item>Elan SC520 and SC300</item>
<item>Fujitsu <url name="FR-V" url="http://sources.redhat.com/ecos/hardware.html#FR-V"></item>
<item>Hitachi <url name="H8" url="http://www.uclinux.org/pub/uClinux/ports/h8/"> series</item>
<item>Intel i960</item>
<item>Intel IA32-compatibles (Cyrix MediaGX, STMicroelectronics <url name="STPC" url="http://www.stmcu.com/forums-cat-132-6.html">, ZF Micro ZFx86)</item>
<item>Matsushita <url name="AM3x" url="http://sources.redhat.com/ecos/hardware.html#Matsushita%20AM3x"></item>
<item>MIPS-compatibles (Toshiba <url name="TMPRxxxx / TXnnnn" url="http://www.bluecat.com/products/bluecat/bluecatbsp.php3#mips">, NEC <url name="VR" url="http://www.linux-vr.org/"> series)</item>
<item>MIPS-compatibles (Toshiba <url name="TMPRxxxx / TXnnnn" url="http://www.bluecat.com/products/bluecat/bluecatbsp.php3#mips">, NEC <url name="VR" url="http://www.linux-vr.org/"> series, <url name="Realtek 8181" url="http://www.deakin.edu.au/~btfo/networking/minitar.html">)</item>
<item>Motorola 680x0-based machines (Motorola VMEbus boards, <url name="ISICAD Prisma" url="http://ds.dial.pipex.com/town/way/fr30/"> machines, and Motorola <url name="Dragonball" url="http://www.linuxdevices.com/products/PD5338609592.html"> &amp; <url name="ColdFire" url="http://www.uclinux.org/ports/coldfire/"> CPUs, and Cisco 2500/3000/4000 series routers)</item>
<item>Motorola embedded <url name="PowerPC" url="http://penguinppc.org/embedded/hardware/"> (including MPC / PowerQUICC I, II, III families)</item>
<item>NEC <url name="V850E" url="http://www.ee.nec.de/_uclinux/"></item>
<item>Renesas Technology (formerly Hitachi) SH3/SH4 (SuperH: <url name="link1" url="http://www.superhlinux.com/"> <url name="link2" url="http://linuxsh.sourceforge.net/">)</item>
<item>Samsung <url name="CalmRISC" url="http://sources.redhat.com/ecos/hardware.html#CalmRISC"></item>
<item>Texas Instruments's <url name="DM64x" url="http://linuxdevices.com/news/NS3468265897.html"> and <url name="C54x DSP" url="http://www.linuxdevices.com/news/NS9254493853.html"> families</item>
</itemize>
</item>
<item><bf>Intel <url name="8086 / 80286"
@ -1437,11 +1439,11 @@ Have fun!
<sect1>Terms of use
<p>
Copyright (C) 2003, Rick Moen. Copyright (C) 1997-1998 by Kendall Grant
Copyright (C) 2003-2004, Rick Moen. Copyright (C) 1997-1998 by Kendall Grant
Clark. This document may be distributed under the terms set forth
in the LDP licence at <url
name="http://www.tldp.org/COPYRIGHT.html"
url="http://www.tldp.org/COPYRIGHT.html">.
in the Creative Commons Attribution-ShareAlike 1.0 licence at <url
name="http://creativecommons.org/licenses/by-sa/1.0/"
url="http://creativecommons.org/licenses/by-sa/1.0/">.
<sect1>New versions
<p>
@ -1504,6 +1506,7 @@ Gazette's move to new hosting. Added LinuxFocus.</item>
<item>1.7.4: Added LinuxWorld Magazine, fixed URL of Recipe for
a Successful Linux User Group, which I moved. Added Tux.Org and
LinuxUserGroups.org as LUG support organisations.
<item>1.7.5: Added several more embedded CPUs to the supported list, implemented licence change to Creative Commons Attribution ShareAlike 1.0 after securiing permission from Kendall Clark.</item>
</itemize>
@ -1514,7 +1517,7 @@ I would like to give a big thank-you to Kendall Grant Clark for the
initial versions of this document in 1997-1998, and for trusting me to take
over and renovate his creation starting in 2003.
Warn regards and thanks to <url name="Chris Browne"
Warm regards and thanks to <url name="Chris Browne"
url="mailto:%20cbbrowne@cbbrowne.com%20"> for describing the situation with
non-profit and charitable groups in Canada, his thoughts on financial
donations as a way to participate in Linux and the free software and
@ -1534,6 +1537,5 @@ suggestions:
<item>Don Marti</item>
</itemize>
</article>