This HOWTO covers basic info on the Serial Port and multiport serial cards. Information specific to modems and text-terminals has been moved to Modem-HOWTO and Text-Terminal-HOWTO. Info on getty has been also moved to these HOWTOs since mgetty and uugetty are best for modems while agetty is best for text-terminals. If you are dealing with a modem, text terminal, or printer, then you may not need to consult this HOWTO. But if you are using the serial port for some other device, using a multiport serial card, trouble-shooting the serial port itself, or want to understand more technical details of the serial port, then you may want to use this HOWTO as well as some of the other HOWTOs. (See Related HOWTO's) This HOWTO lists info on various multiport serial cards since they may be used for either modems or text-terminals. This HOWTO addresses Linux running on Intel x86 hardware, although it might be valid for other architectures.
Copyright (c) 1993-1997 by Greg Hankins, 1998-1999 by David S. Lawyer.
Please freely copy and distribute (sell or give away) this document in any format. Forward any corrections and comments to the document maintainer. You may create a derivative work and distribute it provided that you:
If you're considering making a derived work other than a translation, it's requested that you discuss your plans with the current maintainer.
While I haven't intentionally tried to mislead you, there are likely a number of errors in this document. Please let me know about them. Since this is free documentation, it should be obvious that I cannot be held legally responsible for any errors.
Most of the original Serial-HOWTO was written by Greg Hankins.
gregh@cc.gatech.edu
He also rewrote many contributions by others in order to maintain
continuity in the writing style and flow. He wrote: "Thanks to
everyone who has contributed or commented, the list of people has
gotten too long to list (somewhere over one hundred). Special thanks
to Ted Ts'o for answering questions about the serial drivers.
Approximately half of v2.00 was from Greg Hankins HOWTO and the other
half is by David Lawyer. Ted Ts'o has continued to be helpful.
2.00 was a major revision which has removed info on Terminals and Modems from the old Serial-HOWTO and put such info into:
2.01: Added info on Plug-and-Play from Modem-HOWTO and more. Info on setserial and stty has been updated. I still haven't checked out all the info on multiport cards to see if it's up-to-date. The fact that this HOWTO was pieced together from various sources has resulted in a certain lack of integration. This may be improved on in future versions.
New versions of the Serial-HOWTO will be available to browse and/or download at LDP mirror sites. For a list of mirror sites see: http://metalab.unc.edu/LDP/mirrors.html. Various formats are available. If you only want to quickly check the date of the latest version look at http://metalab.unc.edu/LDP/HOWTO/Serial-HOWTO.html and compare it to this version: v2.05, 1 January 2000
Modems, Text-Terminals, some printers, and other peripherals often use the serial port. Get these HOWTOs from the nearest mirror site as explained above.
Modem-HOWTO
is about installing and configuring modemsPrinting-HOWTO
has info on using a serial printerSerial-Programming-HOWTO
helps you write
C programs (or parts of them) that read and write to the serial port
and/or check/set its state. A new version is expected soon.Text-Terminal-HOWTO
is about how they work, how to install
configure, and repair them.
Please send me any questions, comments, suggestions, or additional
material. I'm always eager to hear about what you think about this
HOWTO. I'm also always on the lookout for improvements! Tell me
exactly what you don't understand, or what could be clearer. You can
reach me via email at
mailto:dave@lafn.org (David
Lawyer)
.
The conventional serial port (not the newer USB port, or HSSI port) is a very old I/O port. Almost all PC's have them. But Macs (Apple Computer) after mid 1998 (with colored cases) only have the USB port. The common specification is RS-232 (or EIA-232). The connector for the serial port is often seen as one or two 9-pin connectors (in some cases 25-pin) on the back of a PC. But the serial port is is more than just that. It includes the associated electronics which must produce signals conforming to the EIA-232 specification. See Voltage Waveshapes. One pin is used to send out data bytes and another to receive data bytes. Another pin is a common signal ground. The other "useful" pins are used mainly for signalling purposes with a steady negative voltage meaning "off" and a steady positive voltage meaning "on".
The UART (Universal Asynchronous Receiver-Transmitter) chip does most of the work. Today, the functionality of this chip is usually built into another chip. See What Are UARTs? These have improved over time and old models (several years old) are now obsolete.
The serial port was originally designed for connecting modems but it's used to connect many other devices also such as mice, text-terminals, some printers, etc. to a computer. You just plug these devices into the serial port using the correct cable. Many internal modem cards have a built-in serial port so when you install one inside your PC it's as if you just installed another serial port in your PC.