Last-modified: 2 Jul 95
-----BEGIN PGP SIGNED MESSAGE-----
*** The Linux Serial HOWTO is posted automatically by the Linux
*** HOWTO coordinator, Greg Hankins <gr...@sunsite.unc.edu>. Please
*** direct any comments or questions about this HOWTO to the author,
*** Greg Hankins <greg.hank...@cc.gatech.edu>.
- --- BEGIN Linux Serial HOWTO part 1/2 ---
The Linux Serial HOWTO
by Greg Hankins, greg.hank...@cc.gatech.edu
v1.8a, 5 June 1995
This document describes how to set up serial communications devices
on a Linux box.
This is the Linux Serial HOWTO. All about how to set up modems and
terminals under Linux, some serial tips, and troubleshooting.
The Linux Serial HOWTO is copyright (C) 1993 - 1995 by Greg Hankins.
Linux HOWTO documents may be reproduced and distributed in whole or in
part, in any medium physical or electronic, as long as this copyright
notice is retained on all copies. Commercial redistribution is allowed
and encouraged; however, the author would like to be notified of any
All translations, derivative works, or aggregate works incorporating
any Linux HOWTO documents must be covered under this copyright notice.
That is, you may not produce a derivative work from a HOWTO and impose
additional restrictions on its distribution. Exceptions to these rules
may be granted under certain conditions; please contact the Linux
HOWTO coordinator at the address given below.
In short, we wish to promote dissemination of this information through
as many channels as possible. However, we do wish to retain copyright
on the HOWTO documents, and would like to be notified of any plans to
redistribute the HOWTOs.
If you have questions, please contact Greg Hankins, the Linux HOWTO
gr...@sunsite.unc.edu via email, or at +1 404 853 9989.
1.2. Other sources of information
o man pages for: agetty(8), getty(1m), gettydefs(5), init(1),
login(1), mgetty(8), setserial(8)
o Your modem manual
o UUCP HOWTO: for information on setting up UUCP
o Printing HOWTO: for setting up a serial printer
o NET-2 HOWTO: all about networking, including SLIP, CSLIP, PLIP and
o BUPS HOWTO: setting up UPS boxen connected to your serial port
o Term HOWTO: everything you wanted to know about the term program
o USENET newsgroups:
comp.os.linux.advocacy Benefits of Linux compared to other operating systems.
comp.os.linux.announce Announcements important to the Linux community.
comp.os.linux.answers FAQs, How-To's, READMEs, etc. about Linux.
comp.os.linux.development.apps Writing Linux applications, porting to Linux.
comp.os.linux.development.system Linux kernels, device drivers, modules.
comp.os.linux.hardware Hardware compatibility with the Linux operating system.
comp.os.linux.misc Linux-specific topics not covered by other groups.
comp.os.linux.networking Networking and communications under Linux.
comp.os.linux.setup Linux installation and system administration.
comp.os.linux.x Linux X Window System servers, clients, libs and fonts.
o the Linux serial mailing list. To join, send email to
``subscribe linux-serial'' in the message body. If you send
``help'' in the message body, you get a help message.
1.3. New versions of this document
New versions of the Serial-HOWTO will be placed on
HOWTO) and mirror sites. There are other formats, such as a
PostScript and dvi version in the other-formats directory. The Serial
HOWTO (http://sunsite.unc.edu/mdw/HOWTO/Serial-HOWTO.html) is also
available for WWW clients such as mosaic. It will also be posted
regularly to comp.os.linux.answers.
If you don't have FTP access, you can get Linux help files via email.
Bill Riemers runs a mail handler on his account. Send mail to
b...@physics.purdue.edu with a subject of ``help'' for more infomation,
and to get an index file.
Please send me any questions, comments, suggestions, or additional
material. I'm always eager to hear about what you think about the
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 at greg.hank...@cc.gatech.edu via email. I can also be
College of Computing
801 Atlantic Drive
Atlanta, GA 30332-0280
via snail mail, and at my home page
(http://www.cc.gatech.edu/staff/h/Greg.Hankins/) via the WWW.
Please include the version number of the Serial HOWTO when writing,
this is version 1.8a.
Your milage may vary. The answers given may not work for all systems
and all setup combinations.
2. Supported serial hardware
Linux is known to work with the following serial hardware.
o standard PC serial boards (COM1 - COM4), to which external serial
devices (modems, serial mice, etc...) can be connected
o standard PC internal modems (COM1 - COM4)
o Quickpath Systems Port-Folio 550e (allows IRQs of 3, 4, 5, 9, 10,
11, 12, and 15)
2.1. Multiport serial boards (with 16450/16550A UARTs)
o AST FourPort and clones (4 port)
o Accent Async-4 (4 port)
o Arnet Multiport-8 (8 port)
o Bell Technologies HUB6 (6 port)
o Boca BB-1004 (4 port), BB-1008 (8 port), BB-2016 (16 port)
o Boca IOAT66 (6 port)
o Boca 2by4 (4S/2P)
o Computone ValuePort V4-ISA (AST FourPort compatible)
o PC-COMM (4 port)
o STB-4COM (4 port)
o Twincom ACI/550
o Usenet Serial Board II (4 port)
In general, Linux will support any serial board which uses a 8250,
16450, 16550, 16550A (or compatible) UART, or an internal modem which
emulates one of the above UARTs.
Special note on the BB-1004 and BB-1008, they do not support DCD and
RI lines, and thus are not usable for dialin modems. They will work
fine for all other purposes.
2.2. Intelligent multiport serial boards
o Comtrol RocketPort (36Mhz ASIC - 4, 8, 16 or 32 port) (contact
i...@comtrol.com or Comtrol's Home Page (http://www.comtrol.com).
Driver location: tsx-11.mit.edu/pub/linux/packages/comtrol)
o Computone IntelliPort II (16Mhz 80186 - 4, 8, or 16 port) Computone
IntelliPort II EXpandable (20Mhz 80186 - modular 16 - 64 port)
(pre-ALPHA driver, contact Michael H. Warfield,
o Cyclades Cyclom 8Y (8 port), and 16Y (16 port) (Cirrus Logic
CD-1400 RISC UARTs) (contact cycla...@netcom.com)
o DigiBoard PC/Xe (12.5MHz 80186 processor - 2, 4, 8, or 16 port),
and PC/Xi (12.5MHz 80186 processor - 8, or 16 port) (contact Troy
De Jongh, tr...@digibd.com. Driver location:
o Digiboard COM/Xi (10MHz 80188 processor - 4 or 8 port)
(pre-ALPHA driver contact Simon Park, s...@wimpol.demon.co.uk)
o Hayes ESP8 (8 port)
(pre-ALPHA driver, contact Dennis Boylan, den...@lan.com)
o Omega COMM-8 (8 port)
(contact Vance Petree, vpet...@infi.net)
o Specialix SIO - (modular, 4 - 32 port)
(ALPHA driver, contact Simon Allen, simonal...@cix.compulink.co.uk)
o Stallion EasyIO-4 (4 port), EasyIO-8 (8 port), and Stallion
EasyConnection (modular, 8 - 32 port) (Cirrus Logic CD-1400 RISC
UARTs) (contact Greg Ungerer, g...@stallion.oz.au)
Drivers for the Cyclades, DigiBoard, Stallion and Specialix boards can
found on sunsite.unc.edu:/pub/Linux/kernel/patches/serial and mirror
3. What are the names of the serial ports?
There are the 4 serial devices corresponding to COM1 - COM4:
/dev/cua0, /dev/ttyS0 (COM1) address 0x3f8 IRQ 4
/dev/cua1, /dev/ttyS1 (COM2) address 0x2f8 IRQ 3
/dev/cua2, /dev/ttyS2 (COM3) address 0x3e8 IRQ 4
/dev/cua3, /dev/ttyS3 (COM4) address 0x2e8 IRQ 3
The /dev/ttySN devices are for incoming connections and /dev/cuaN
devices for outgoing connections. N is the serial port number. In
this document, I refer to COM1 as ttyS0, COM2 as ttyS1, COM3 as ttyS2,
and COM4 as ttyS3. If I am refering to a specific device in /dev, I
will always prepend /dev to avoid confusing you.
On some installations, two extra devices will be created, /dev/modem
for your modem and /dev/mouse for your mouse. Both of these are
symbolic links to the appropriate /dev/cuaN device which you specified
during the installation (unless you have a bus mouse, then /dev/mouse
will point to the bus mouse device).
There has been some discussion on the merits of /dev/mouse and
/dev/modem. I strongly discourage the use of these links. In
particular, if you are planning on using your modem for dialin you
will run into problems because the lock files will not work correctly
if you use /dev/modem. Use them if you like, but be sure they point to
the right device.
3.1. Major and minor device numbers of serial devices in /dev
/dev/ttyS0 major 4, minor 64 /dev/cua0 major 5, minor 64
/dev/ttyS1 major 4, minor 65 /dev/cua1 major 5, minor 65
/dev/ttyS2 major 4, minor 66 /dev/cua2 major 5, minor 66
/dev/ttyS3 major 4, minor 67 /dev/cua3 major 5, minor 67
Note that all distributions should come with these devices already
3.1.1. Creating devices in /dev
If you don't have a device, you will have to create it with the mknod
Example, suppose you needed to create devices for ttyS0:
linux# mknod -m 666 /dev/cua0 c 5 64
linux# mknod -m 666 /dev/ttyS0 c 4 64
You can also get the MAKEDEV script, available on the usual FTP sites.
read more »