home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-04-20 | 52.0 KB | 1,646 lines |
- The Linux Serial HOWTO
- by Greg Hankins, gregh@cc.gatech.edu
- v1.7, 29 October 1994
-
- This document describes how to set up serial communications devices
- on a Linux box.
-
- 1. Introduction
-
- This is the Linux Serial HOWTO. All about how to set up modems and
- terminals under Linux, some serial tips, and troubleshooting.
-
-
- 1.1. Copyright
-
- The Linux Serial HOWTO is copyright (C) 1994 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 such
- distributions.
-
- 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 Matt Welsh, the Linux HOWTO
- coordinator, at
- mdw@sunsite.unc.edu. You may finger this address for phone number and
- additional contact information.
-
-
-
- 1.2. Other sources of information
-
-
-
- o man pages for: getty(1m), gettydefs(4), init(1), login(1),
- setserial(8)
-
-
- o Your modem manual
-
-
- o UUCP HOWTO: for information on setting up UUCP
-
- o Printing HOWTO: deals with setting up a serial printer
-
- o NET-2 HOWTO: all about networking, including SLIP and PPP
-
- o Term HOWTO: everything you wanted to know about the term program
-
- o USENET newsgroups:
-
-
-
-
-
- comp.os.linux.admin Installing and administering Linux systems.
- comp.os.linux.announce Announcements important to the Linux community.
- (Moderated)
- comp.os.linux.development Ongoing work on the Linux operating system.
- comp.os.linux.help Questions and advice about Linux.
- comp.os.linux.misc Linux topics not covered by other groups.
-
-
-
-
-
- o the Linux SERIAL channel mailing list. To join, send email to
-
- linux-activists-request@niksula.hut.fi with ``X-Mn-Admin: join
- SERIAL'' in the message body or header. If you send ``X-Mn-Admin:
- help'' you get a help message.
-
-
-
- 1.3. New versions of this document
-
- New versions will be placed on
- sunsite.unc.edu:/pub/Linux/docs/HOWTO/Serial-HOWTO,
-
- and the mirror sites. The Serial HOWTO
- (http://sunsite.unc.edu/mdw/HOWTO/Serial-HOWTO.html) is also available
- for WWW clients such as mosaic.
-
-
- 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
- bcr@physics.purdue.edu with a subject of ``help'' for more infomation,
- and to get an index file.
-
-
- 1.4. Feedback
-
- 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 gregh@cc.gatech.edu via email. I can also be reached at:
-
- Greg Hankins
- 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.7.
-
-
-
- 1.5. Disclaimer
-
- Your milage may vary. The answers given may not work for all systems
- and all setup combinations.
-
-
-
-
-
- 2. Supported serial hardware
-
- Linux supports the following serial hardware, (ie is known to work
- with).
-
-
- o standard PC serial boards (COM1 - COM4)
-
- o standard PC internal modems (COM1 - COM4)
-
-
- 2.1. Multiport serial boards
-
-
- o Usenet Serial Board II
-
- o Boca 4-port (BB-1004)
-
- o Boca 8-port (BB-1008)
-
- o Boca 16-port (BB-2016)
-
- o Boca 6-port (IO/AT66)
-
- o AST FourPort boards and clones
-
- o Accent Async boards
-
- o Bell Technologies HUB6
-
- o STB-4COM
-
-
- 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 Cyclades Cyclom 8-port (Cyclom 8Y)
-
- o Cyclades Cyclom 16-port (Cyclom 16Y)
-
- o DigiBoard PC/Xe (2, 4, or 8 port) (expected November 1994)
-
- o Digiboard COM/Xi (4 or 8 port)
- (pre-ALPHA driver contact Simon Park <si@wimpol.demon.co.uk> for
- information)
-
- o Specialix SI0 (modular, 4 - 32 ports)
-
- (ALPHA driver: contact Simon Allen <simonallen@cix.compulink.co.uk>
- for information)
-
-
-
-
-
-
- 2.3. Network serial boards
-
-
- o SDL N2 (RS-232 and V.35) HDLC (driver under developement)
-
- o Sangoma Technologies frame-relay board (driver under developement)
-
-
-
- 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. Also, Taylor UUCP does not support symlinks
- either. 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 come with these devices already made
- correctly.
-
-
-
-
- 3.1.1. Creating devices in /dev
-
- If you don't have a device, you will have to create it with the mknod
- command.
-
- 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.
- This simplifies the making of devices. For example, if you needed to
- make the devices for ttyS0 you would type:
-
-
-
- linux# cd /dev
- linux# MAKEDEV ttyS0
-
-
-
-
- This handles the devices creation for the incoming and outgoing
- devices.
-
-
- 3.1.2. Notes for multiport boards
-
- The devices your multiport board uses depends on what kind of board
- you have. These are listed in detail in the rc.serial which comes
- with the setserial program. You will probably need to create these
- devices. Either use the mknod command, or get the MAKEDEV script.
- Devices for mulitport boards are made by adding 64 + the port number.
- So, if you wanted to create devices for ttyS17, you would type:
-
-
-
- linux# mknod -m 666 /dev/cua17 c 5 81
- linux# mknod -m 666 /dev/ttyS17 c 4 81
-
-
-
-
-
- Note that ``64 + 17 = 81''. Using the MAKEDEV script, you would type:
-
-
-
- linux# cd /dev
- linux# /dev/MAKEDEV ttyS17
-
-
-
-
-
-
- 4. What is getty_ps?
-
- This is just another version of getty, which is a program that handles
- some of the login process when you log in to a UNIX box. It was
- written by Paul Sutcliffe, Jr. <paul@devon.lns.pa.us>. Kris Gleason
- <gleasokr@boulder.colorado.edu> currently maintains it. 2.0.7e is the
- latest version, and supercedes any older versions. Most Linux
- distributions come with getty_ps installed as the default getty.
- Thus, I will mainly focus on using the getty_ps package in this
- document, but you are free to use any getty you like. You should
- check to make sure you do indeed have getty_ps as the default getty.
- At your Linux prompt, type:
-
-
-
- linux# strings /sbin/getty | grep RINGBACK
-
-
-
-
-
-
- If grep returns ``RINGBACK'' then you have the right getty. If you do
- not have this version of getty, I highly recommend that you get it.
- It can be found on the standard Linux FTP sites. (Kris has promised
- me to implement a version feature in the next release, to avoid doing
- this grep sillyness.)
-
-
- 4.1. Installing getty_ps
-
- Get the latest version from a Linux FTP site.
-
- By default, getty_ps will be configured to be Linux FSSTND (FileSystem
- STaNDard) compliant, which means that it will put the binaries in
- /sbin, and config files in /etc/conf.{uu}getty.ttySN. It will also
- expect lock files to go in /var/lock. Make sure you have the
- /var/lock directory.
-
-
- If you don't want FSSTND compliance, binaries will go in /etc, config
- files will go in /etc/default/{uu}getty.ttySN, and lock file will go
- in /usr/spool/uucp. I recommend doing things this way if you are
- using UUCP, because Taylor UUCP will have problems if you move the
- lock files to where it isn't looking for them. You could always link
- /usr/spool/uucp to /var/lock though, I guess.
-
-
-
- getty_ps also uses syslogd to log messages. See the man pages for
- syslogd(1) and syslog.conf(5) for setting up syslogd, if you don't
- have it running already. Messages are logged with priority LOG_AUTH,
- errors use LOG_ERR, and debugging uses LOG_DEBUG. If you don't want
- to use syslogd you can edit tune.h in the getty_ps source files to use
- a log file for messages instead, namely /var/adm/getty.log by default.
-
-
- When you have decided if you want FSSTND, and syslog, edit tune.h and
- the Makefile in the getty_ps source directory to reflect you
- decisions. Now, install according to the instructions.
-
-
- Once you have installed getty_ps, and are certain it is working, you
- can remove any other versions of getty you have. Be sure to check in
- /bin, /etc, /usr/bin, /usr/etc, /usr/man/man1, and /usr/man/cat1 for
- any thing called getty - there are old versions lurking everywhere.
- Also, you can safely remove the old config file /etc/gettytab - you
- only need /etc/gettydefs. From this point on, all references to getty
- will refer to getty_ps. References to uugetty will refer to the
- uugetty that comes with the getty_ps package.
-
- 5. What is setserial?
-
- setserial is a program which allows you to look at and change various
- attributes of a serial device, including its port, its IRQ, and other
- serial port options. It was initially written Rick Sladkey, and was
- heavily modified by Ted T'so <tytso@athena,mit.edu>, who also
- maintains it. The newest version is 2.10, and can be found on the
- Linux FTP sites. You can find out what version you have by running
- setserial with no arguments.
-
-
- On boot, only the ttyS{0-3} ports are configured, using the default
- IRQs of 4 and 3. So, if you have any other serial ports provided by
- other boards (such as an AST Fourport), or if ttyS{0-3} have a non-
- standard IRQ, you must use this program in order to configure those
- serial ports. For the full listing of options, consult the man page.
-
-
-
- 6. How do I dial out with my modem?
-
- 6.1. Hardware requirements
-
- First, make sure you have the right cable. Your modem requires a
- straight through cable, with no pins crossed. Any computer store
- should have these. Make sure you get the correct gender. Your DB25
- serial port on your PC is always male. Do not confuse it with the
- parallel port, which is the female DB25. Hook up your modem to one of
- your serial ports. Consult your modem manual on how to do this if you
- need help.
-
-
- 6.1.1. Notes on internal modems
-
- For an internal modem, you will not need a cable. An internal modem
- does not need a serial port, it has one built in. All you need to do
- is configure it to use an interrupt that is not being used, and
- configure the I/O address. Consult your modem manual if you get
- stuck. Also, see section ``Can I use more than 2 serial devices?''
- if you need help on choosing interrupts or addresses.
-
- Due to a bit of stupidity on IBM's part, you may encounter problems if
- you want your internal modem to be on ttyS3. If Linux does not detect
- your internal modem on ttyS3, you can use setserial and the modem will
- work fine. Internal modems on ttyS{0-2} should not have any problems
- being detected.
-
-
- 6.2. Talking to your modem
-
- Make sure that nothing is using the serial port you hooked your modem
- to. Check your /etc/inittab for getty processes using the serial
- port. Comment the line out (with a ``#'') and restart init:
-
-
-
- linux# init q
-
-
-
-
- Do not comment any lines that contain a ttyN device, only ones
- containing ttySN devices. ttyN devices are your virtual consoles.
-
- Use kermit to test the setup. For example, say your modem was on
- ttyS3, and it could handle 2400 bps. You would do the following:
- linux# kermit
- C-Kermit 5A(188), 23 Nov 92, POSIX
- Type ? or HELP for help
- C-Kermit>set line /dev/cua3
- C-Kermit>set speed 2400
- /dev/cua3, 2400 bps
- C-Kermit>c
- Connecting to /dev/cua3, speed 2400.
- The escape character is Ctrl-\ (ASCII 28, FS)
- Type the escape character followed by C to get back,
- or followed by ? to see other options.
- AT
- OK
- <ctrl>-\-C
- (Back at linux)
- C-Kermit>quit
- linux#
-
-
-
-
-
- If your modem responds to AT commands, you can assume your modem is
- working correctly on the Linux side. Try calling another modem. If
- you don't like kermit, try one of the more advanced comm programs.
- Check out section ``Noteworthy communications programs'' about comm
- programs if you need some pointers.
-
-
- 6.3. Dial out modem configuration
-
- For dial out use only, you can configure your modem however you want.
-
-
- I like to see result codes, so I set Q0 - result codes are reported.
- To set this on my modem, I would have to preceed the register name
- with an AT command. Using kermit or some comm program, connect to
- your modem and do the following:
-
-
- ATQ0
-
-
-
-
-
- If your modem says OK back to you, then the register is set. Do this
- for each register you want to set.
-
-
- I also like to see what I'm typing, so I set E1 - command echo on. If
- your modem has data compression capabilities, you probably want to
- enable them. If you can lock the serial port speed, and let the modem
- handle modem-modem bps rate transitions, do this. Consult your modem
- manual for more help, and a full listing of options. If your modem
- supports a stored profile, be sure to write the configuration to the
- modem (often done with AT&W) if not you will have to set the registers
- everytime you turn on your, or reset your modem.
-
-
- When you dial out with your modem, set the speed to the highest bps
- rate that your modem supports. Since there is no speed named 57600 or
- 115200 bps, you must use the setserial program to set your serial port
- to a higher speed. See section ``How do I set up my serial ports for
- higher speeds?'' for doing this. Then, set the speed to 38400 bps in
- your comm program.
- 6.4. Hardware flow control
-
- If your modem supports hardware flow control (RTS/CTS), I highly
- recommend you use it. This will allow you to lock your serial port -
- modem speed (DTE - DCE) at a high bps rate, independant from the modem
- - modem speed. This is particularly important for modems that support
- data compression. First, you have to enable RTS/CTS flow control on
- the serial port itself. This is best done on startup, like in
- /etc/rc.local or /etc/rc.serial:
-
-
- stty crtscts < /dev/cua3
-
-
-
-
-
- Be sure to put in the correct serial port you wish to enable.
-
-
- You must also enable RTS/CTS flow control on your modem. Consult your
- modem manual on how to do this, as it varies between modem
- manufacturers. Be sure to save your modem configuration if your modem
- supports stored profiles.
-
-
- 7. How do I dial in and out with my modem?
-
- Get your modem to dial out correctly. If you haven't read section
- ``How do I dial out with my modem'' go read it now.
-
-
-
- 7.1. Dial in and out modem configuration
-
- For dialin and dialout use, you have to set up your modem a certain
- way (again, using the AT command on your modem):
-
-
- E1 command echo ON
- Q0 result codes are reported
- V1 verbose ON
- S0=0 never answer (uugetty handles this with the WAITFOR option)
-
-
-
-
- If you don't set these correctly, your INIT string in your config file
- may fail, hosing the whole process. But, more on config files
- below...
-
-
-
- &C1 DCD is on after connect only
- &S0 DSR is always on
- DTR on/off resets modem (depends on manufacturer - RTFM)
-
-
-
-
- These affect what your modem does when calls start and end.
-
-
- If your modem does not support a stored profile, you can set these
- through the INIT string in your config file. See below. Some modems
- come with DIP switches that affect register settings. Be sure these
- are set correctly, too.
-
-
- I have started a collection of modem setups for different types of
- modems. So far, I only have a few of them, if you would like to send
- me your working configuration, please do so! If you would like me to
- send you one of the configurations, just mail me and ask. I'm not
- listing them here due to space concerns. I have setups for Telebit
- T1600, USR Courier, and Zoom 14.4/28.8 modems.
-
-
- 7.2. Setting up uugetty
-
- For dialing into, and out from your modem, we want to use uugetty.
- uugetty does important lock file checking. Replace the stock getty
- with getty_ps as described in section ``What is <tt>getty_ps</tt>''.
- Update /etc/gettydefs to include entries for modems (note that the
- entries point to each other, these are not for fixed speed):
-
-
- # Modem entries
- 38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #19200
-
- 19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #9600
-
- 9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #2400
-
- 2400# B2400 CS8 # B2400 SANE -ISTRIP HUPCL #@S @L @B login: #1200
-
- 1200# B1200 CS8 # B1200 SANE -ISTRIP HUPCL #@S @L @B login: #300
-
- 300# B300 CS8 # B300 SANE -ISTRIP HUPCL #@S @L @B login: #38400
-
-
-
-
-
- If you have a 9600 bps or faster modem, you can lock your serial port
- speed and let the modem handle the transition to other bps rates.
- Then, instead of the step down series of lines listed above,
- /etc/gettydefs only needs to contain one line for the modem:
-
-
-
- # 38400 fixed speed
- F38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #F38400
- # 19200 fixed speed
- F19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #F19200
- # 9600 fixed speed
- F9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #F9600
-
-
-
-
-
-
- If you have your modem set up to do RTS/CTS hardware flow control, you
- can add CRTSCTS to the entries:
-
-
-
-
-
-
-
-
- # 38400 fixed speed with hardware flow control
- F38400# B38400 CS8 CRTSCTS # B38400 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F38400
- # 19200 fixed speed with hardware flow control
- F19200# B19200 CS8 CRTSCTS # B19200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F19200
- # 9600 fixed speed with hardware flow control
- F9600# B9600 CS8 CRTSCTS # B9600 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F9600
-
-
-
-
-
- If you want, you can make uugetty print interesting things in the
- login banner. In my examples, I have the system name, the serial
- line, and the current bps rate. You can add other things:
-
-
-
- @B The current (evaluated at the time the @B is seen) bps rate.
- @D The current date, in MM/DD/YY.
- @L The serial line to which getty is attached.
- @S The system name.
- @T The current time, in HH:MM:SS (24-hour).
- @U The number of currently signed-on users. This is a
- count of the number of entries in the /etc/utmp file
- that have a non-null ut_name field.
- @V The value of VERSION, as given in the defaults file.
- To display a single '@' character, use either '\@' or '@@'.
-
-
-
-
-
- Next, make sure that you have an outgoing and incoming device for the
- serial port your modem is on. If you have your modem on ttyS3 you
- will need the /dev/cua3, and /dev/ttyS3 devices. If you don't have
- the correct devices, see section ``Creating devices in <tt>/dev</tt>''
- on how to create devices, and create the devices.
-
-
- 7.3. Customizing uugetty
-
- There are lots of parameters you can tweak for each port you have.
- These are implemented in seperate config files for each port. The
- file /etc/conf.uugetty will be used by all instances of uugetty, and
- /etc/conf.uugetty.ttySN will only be used by that one port. Sample
- default config files can be found with the getty_ps source files,
- which come with most Linux distributions. Due to space concerns, they
- are not listed here. Note that if you are using older versions of
- getty (older than 2.0.7e), or aren't using FSSTND, then the default
- files will be in /etc/default/uugetty.ttySN. My
- /etc/conf.uugetty.ttyS3 looks like this:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- # sample uugetty configuration file for a Hayes compatible modem to allow
- # incoming modem connections
-
- # alternate lock file to check... if this lock file exists, then uugetty is
- # restarted so that the modem is re-initialized
- ALTLOCK=cua3
- ALTLINE=cua3
-
- # line to initialize
- INITLINE=cua3
-
- # timeout to disconnect if idle...
- TIMEOUT=60
-
- # modem initialization string...
- #
- # format: <expect> <send> ... (chat sequence)
- INIT="" \d+++\dAT\r OK\r\n ATH0\r OK\r\n AT\r OK\r\n
-
- WAITFOR=RING
- CONNECT="" ATA\r CONNECT\s\A
-
- # this line sets the time to delay before sending the login banner
- DELAY=1
-
- #DEBUG=010
-
-
-
-
-
- Add the following line to your /etc/inittab, so that uugetty is run on
- your serial port (substituting in the correct information for your
- environment - port, speed, and terminal type):
-
-
- S3:456:respawn:/sbin/uugetty ttyS3 F38400 vt100
-
-
-
-
-
- Restart init:
-
-
- linux# init q
-
-
-
-
-
- For the speed parameter in your inittab, you will want to use the
- highest bps rate that your modem supports. Since there is no speed
- named 57600 or 115200, you must use the setserial program to set your
- serial port to a higher speed. See section ``How do I set up my
- serial ports for higher speeds?'' for doing this. Then, use 38400 bps
- in your inittab.
-
-
- Now Linux will be watching your serial port for connections. Dial in
- from another site and login to you Linux system. Rejoice.
-
-
- getty and uugetty have a lot more options, see the man page for
- getty(1m) for a full description. Among other things there is a
- scheduling feature, and a ringback feature. RTFM :-).
- 8. How do I set up a terminal connected to my PC?
-
- 8.1. Hardware requirements
-
- Make sure you have the right kind of cable. A null modem cable bought
- at a computer store will do it. But it must be a null modem cable!
- Make sure you are using your serial port, and not your parallel port.
-
-
-
- At a minimum, you should have (for a DB25 connector):
-
- RxD Receive Data 2 - 3 TxD Transmit Data
- TxD Transmit Data 3 - 2 RxD Receive Data
- GND Signal Ground 7 - 7 GND Signal Ground
-
-
-
- If you want to have flow control and hardware handshaking, you must
- have a full null modem cable:
-
- Frame Ground 1 - 1 Frame Ground
- RxD Receive Data 2 - 3 TxD Transmit Data
- TxD Transmit Data 3 - 2 RxD Receive Data
- RTS Request To Send 4 - 5 CTS Clear To Send
- CTS Clear To Send 5 - 4 RTS Request To Send
- DSR Data Set Ready 6 - 20 DTR Data Terminal Ready
- GND Signal Ground 7 - 7 GND Signal Ground
- DCD Carrier Detect 8 - 20 DTR Data Terminal Ready
- DTR Data Terminal Ready 20 - 6 DSR Data Set Ready
- DTR Data Terminal Ready 20 - 8 DCD Carrier Detect
-
-
-
- If you have a DB9 connector on your port, try the following:
-
- DB9 DB25
- RxD Receive Data 2 - 2 TxD Transmit Data
- TxD Transmit Data 3 - 3 RxD Receive Data
- GND Signal Ground 5 - 7 GND Signal Ground
-
-
-
- Alternatively, a DB9-DB25 null modem cable:
-
- DB9 DB25
- DCD Carrier Detect 1 - 20 DTR Data Terminal Ready
- RxD Receive Data 2 - 2 TxD Transmit Data
- TxD Transmit Data 3 - 3 RxD Receive Data
- DTR Data Terminal Ready 4 - 6 DSR Data Set Ready
- DTR Data Terminal Ready 4 - 8 DCD Carrier Detect
- GND Signal Ground 5 - 7 GND Signal Ground
- DSR Data Set Ready 6 - 20 DTR Data Terminal Ready
- RTS Request To Send 7 - 5 CTS Clear To Send
- CTS Clear To Send 8 - 4 RTS Request To Send
- (RI Ring Indicator 9 not needed)
-
-
-
- If you are not using a full null modem cable, you might have to do the
- following trick: on your computer side of the connector, connect RTS
- and CTS together, and also connect DSR, DCD and DTR together. This
- way, when the computer wants a certain handshaking signal, it will get
- it (from itself).
-
-
- Now that you have the right kind of cable, connect your terminal to
- your computer. If you can, tell you terminal to ignore modem control
- signals. Try using 9600 bps, 8 data bits, 1 stop bit, no parity bits
- for the terminal's setup.
-
-
- 8.2. Setting up getty
-
- Replace the stock getty with getty_ps as described in section ``What
- is <tt>getty_ps</tt>?''. Add an entry for getty to use for your
- terminal in /etc/gettydefs:
-
-
-
- # 38400 bps Dumb Terminal entry
- DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #S @L login: #DT38400
- # 19200 bps Dumb Terminal entry
- DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #S @L login: #DT19200
- # 9600 bps Dumb Terminal entry
- DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #S @L login: #DT9600
-
-
-
-
-
- You can add HUPCL so the login is killed whenever you switch of the
- terminal (provided you use a proper null modem cable).
-
-
- If you want, you can make getty print interesting things in the login
- banner. In my examples, I have the system name and the serial line
- printed. You can add other things:
-
-
-
- @B The current (evaluated at the time the @B is seen) bps rate.
- @D The current date, in MM/DD/YY.
- @L The serial line to which getty is attached.
- @S The system name.
- @T The current time, in HH:MM:SS (24-hour).
- @U The number of currently signed-on users. This is a
- count of the number of entries in the /etc/utmp file
- that have a non-null ut_name field.
- @V The value of VERSION, as given in the defaults file.
- To display a single '@' character, use either '\@' or '@@'.
-
-
-
-
-
- Edit your /etc/inittab file to run getty on the serial port
- (substituting in the correct information for your environment - port,
- speed, and terminal type):
-
-
- S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
-
-
-
-
-
- Restart init:
-
-
- linux# init q
-
- At this point, you should see a login prompt on your terminal. You
- may have to hit return a couple of times to get the terminal's
- attention. Rejoice. Party. Log in on your terminal and PC. talk to
- yourself from accross the room.
-
-
- 9. Can I use more than 2 serial devices?
-
- You don't need to read this section, unless you want to use 3 or more
- serial devices... (assuming you don't have a multiport board).
-
-
- Providing you have another spare serial port, yes, you can.
-
-
- The number of serial ports you can use is limited by the number of
- interrupts (IRQ) and port I/O addresses we have to use. Each serial
- devices must be assigned it's own interrupt and address. A serial
- device can be a serial port, an internal modem, or a multiport serial
- board.
-
-
- Multiport serial boards are specially designed to have multiple serial
- ports that share the same IRQ for all serial ports on the board.
- Linux gets data from them by using a different I/O address for each
- port on the card.
-
-
- 9.1. Choosing serial device interrupts
-
- Your PC will normally come with ttyS0 and ttyS2 at IRQ 4, and ttyS1
- and ttyS3 at IRQ 3. To use more than 2 serial devices, you will have
- to give up an interrupt to use. A good choice is to reassign an
- interrupt from your parallel port. Your PC normally comes with IRQ 5
- and IRQ 7 set up as interrupts for your parallel ports, but few people
- use 2 parallel ports. You can reassign one of the interrupts to a
- serial device, and still happily use a parallel port. You will need
- the setserial program to do this. In addition, you have to play with
- the jumpers on your boards, check the docs for your board. Set the
- jumpers to the IRQ you want for each port.
-
-
- You will need to set things up so that there is one, and only one
- interrupt for each serial device. Here is how I set mine up in
- /etc/rc.local - you should do it upon startup somewhere:
-
-
-
- /etc/setserial /dev/cua0 irq 3 # my mouse
- /etc/setserial /dev/cua1 irq 4 # my dumb terminal
- /etc/setserial /dev/cua2 irq 5 # my 2400 bps modem
- /etc/setserial /dev/cua3 irq 9 # my telebit modem
-
-
-
-
-
- Standard IRQ assignments:
-
-
-
-
-
-
-
-
- IRQ 0 Timer channel 0
- IRQ 1 Keyboard
- IRQ 2 Cascade for controller 2
- IRQ 3 Serial port 2
- IRQ 4 Serial port 1
- IRQ 5 Parallel port 2
- IRQ 6 Floppy diskette
- IRQ 7 Parallel port 1
- IRQ 8 Real-time clock
- IRQ 9 Redirected to IRQ2
- IRQ 10 not assigned
- IRQ 11 not assigned
- IRQ 12 not assigned
- IRQ 13 Math coprocessor
- IRQ 14 Hard disk controller
- IRQ 15 not assigned
-
-
-
-
-
- There is really no Right Thing to do when choosing interrupts. Just
- make sure it isn't being used. 2, 3, 4, 5, or 7 is a good choice.
- ``not assigned'' means that currently nothing standard uses these
- IRQs. Also note that IRQ 2 is the same as IRQ 9. You can call it
- either 2 or 9, the serial driver is very understanding.
-
-
- If you have a serial card with a 16-bit bus connector, you can also
- use IRQ 10, 11, 12 or 15.
-
-
- Just make sure you don't use IRQ 0, 1, 6, 8, 13 or 14! These are used
- by your mother board. You will make her very unhappy by taking her
- IRQs.
-
-
- 9.2. Setting serial device addresses
-
- Next, you must set the port address. Check the manual on your board
- for the jumper settings. Like interrupts, there can only be one
- serial device at each address. Yours port will usually come
- configured as follows:
-
-
- /dev/cua0, /dev/ttyS0 address 0x3f8 ttyS0
- /dev/cua1, /dev/ttyS1 address 0x2f8 ttyS1
- /dev/cua2, /dev/ttyS2 address 0x3e8 ttyS2
- /dev/cua3, /dev/ttyS3 address 0x3e8 ttyS3
-
-
-
-
- Choose which address you want each serial device to have and set the
- jumpers accordingly. I have my modem on ttyS3, and my mouse on ttyS0.
-
- When you reboot, Linux should see your serial ports at the address you
- set them. The IRQ Linux sees may not correspond to the IRQ you set
- with the jumpers. Don't worry about this. Linux does not do any IRQ
- detection when it boots, because IRQ detection is dicy and can be
- fooled. Use setserial to tell Linux what IRQ the port is using.
-
-
-
-
-
- 10. Can Linux configure the serial devices automagically?
-
- Yes. To get Linux to detect and set up the serial devices
- automatically on startup, add the line:
-
-
- /etc/setserial /dev/cua0 auto_irq skip_test autoconfig
-
-
-
-
- to your /etc/rc.local or /etc/rc.serial file. Do this for every
- serial port you want to auto configure. Be sure to give the correct
- location of where your setserial program lives, and give a device name
- that really does exist on your machine.
-
-
- 10.1. Notes for multiport boards
-
- For board addresses, and IRQs, look at the rc.serial that comes with
- the setserial program. It has a lot of detail on multiport boards,
- including I/O addresses and device names.
-
-
- 11. How do I set up my serial ports for higher speeds?
-
- Use setserial, with the spd_hi flag to configure your serial port to
- use 57600 bps. Use spd_vhi to use 115200 bps. Then, set your speed
- to 38400 bps. This is now the new speed you have set. There is no
- speed named 57600 or 115200. Make sure you have 16550A UARTs :-).
-
-
- In my /etc/rc.local I set ttyS3 to 115200 bps by doing:
-
-
- /bin/setserial /dev/cua3 irq 9 spd_vhi
-
-
-
-
-
- 12. Noteworthy communications programs and utilities
-
- Once you get everything working, you may want to check out these more
- advanced programs, all are available on the usual FTP sites, if they
- didn't come with your distribution.
-
-
- o seyon - X based comm program
-
- o minicom - telix-like comm program
-
- o procomm - procommish comm program with zmodem
-
-
- These programs offer more features that just kermit alone, including
- telephone directories, auto-dialing and so on.
-
-
- o Another useful program is term. term multiplexes many connections
- over one serial line. It is somewhat similar to SLIP, and offers
- some SLIP functionality. These include rlogin, telnet, ftp, ncftp,
- finger, rdate, xmosaic and tredir. tredir is a special program
- which lets you redirect remote TCP/IP ports to your local machine.
- This allows for remote NNTP, and SMTP access. The good thing about
- term is that is runs entirely in user space, meaning it requires no
- kernel support, or sysadmin support (like SLIP does).
-
- o screen is another multi-session program. This one behaves like the
- virtual consoles.
-
- o callback is a program that will have your modem call you back
- immediately from where you just called.
-
- o mgetty+fax handles FAX stuff, and provides an alternate getty
-
-
- o Other things can be found on
- sunsite.unc.edu:/pub/Linux/system/Serial
- and sunsite.unc.edu:/pub/Linux/apps/comm or one of the many
- mirrors. These are the directories where all the serial type
- things are kept.
-
-
-
- 13. Serial Tips
-
-
- Here are some serial tips you might find helpful...
-
-
- 13.1. kermit and zmodem
-
- To use zmodem with kermit, add the following to your .kermrc:
-
-
- define rz !rz < /dev/cua3 > /dev/cua3
- define sz !sz \%0 > /dev/cua3 < /dev/cua3
-
-
-
-
-
- Be sure to put in the correct port your modem is on. Then, to use it,
- just type rz or sz <filename> at the kermit prompt.
-
-
- 13.2. Setting terminal types automagically
-
- To set your terminal type automagically when you log in, add the
- terminal type to the entry in /etc/inittab. If I have a vt100
- terminal on ttyS1, I would add ``vt100'' to the getty command:
-
-
-
- S1:456:respawn:/sbin/getty ttyS1 DT9600 vt100
-
-
-
-
-
- You can also get tset from sunsite.unc.edu:/pub/Linux/system/Terminal-
- management or a mirror site. See the docs that come with tset to
- learn how to use it. tset can establish terminal characteristics when
- you log in, and doesn't depend on any defaults.
-
-
- 13.3. Color ls on serial connections
-
- If ls is screwing up your terminal emulation with the color feature,
- turn it off. ls --color, and ls --colour all use the color feature.
- Some installations have ls set to use color by default. Check
- /etc/profile and /etc/csh.cshrc for ls aliases. You can also alias ls
- to ls -o or ls --no-color, if you don't want to change the system
- defaults.
-
-
- 13.4. Printing to a printer connected to a terminal
-
- There is a program called vtprint that will do this, written by
- Garrett D'Amore <garrett@sciences.sdsu.edu>. It is available from
- ftp.sdsu.edu:/pub/vtprint. The following is from the README file that
- comes with the program:
-
-
- vtprint is a program that allows users to print from a
- remote UNIX host to a printer attached to their local termi-
- nal or emulator, which makes it great for printing files at
- home, etc. (It only does text files, though.)
-
-
-
- 14. Linux FTP sites
-
-
-
- sunsite.unc.edu [152.2.22.81]:/pub/Linux (NC, USA)
- tsx-11.mit.edu [18.172.1.2]:/pub/linux (MA, USA)
- nic.funet.fi [128.214.6.100)]/pub/OS/Linux (Finland, Europe)
-
-
-
-
- sunsite.unc.edu is the official Linux FTP site, and has many mirrors.
- Please use a mirror site if at all possible to save sunsite some
- traffic.
-
-
- sunsite mirrors:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- site path
- ------------------------------------------------------------------------------
- mrcnext.cso.uiuc.edu /pub/linux/
- ftp.linux.org /pub/mirrors/sunsite.unc.edu/
- ftp.uni-paderborn.de /pub/Mirrors/sunsite.unc.edu/
- ftp.cs.cuhk.hk /pub/Linux/
- ftp.dungeon.com /pub/lunux/sunsite-mirror/
- ftp.dfv.rwth-aachen.de /pub/linux/sunsite/
- ftp.maths.warwick.ac.uk /mirrors/linux/sunsite.unc-mirror/
- ftp.rus.uni-stuttgart.de /pub/unix/systems/linux/MIRROR.sunsite/
- ftp.uni-erlangen.de /pub/Linux/MIRROR.sunsite/
- ftp.uni-paderborn.de /pub/linux/sunsite/
- ftp.gwdg.de /pub/linux/mirrors/sunsite/
- ftp.tu-graz.ac.at /pub/Linux/
- pub.vse.cz /pub/386-unix/linux/
- dcs.muni.cz /pub/UNIX/linux/
- ftp.univ-angers.fr /pub/linux/
- hypergly.watson.ibm.com /pub/linux-sunsite (IBM internal network only)
- brandy.jf.intel.com /something (Intel internal network only)
- ftp.tu-dresden.de /pub/Linux/sunsite/
- ftp.germany.eu.net /pub/os/Linux/Mirror.SunSITE/
- ftp.nus.sg /pub/unix/Linux/
- ftp.uni-tuebingen.de /pup/linux/Mirror.sunsite/
- ftp.cnr.it /pub/Linux/
- ftp.kfki.hu /pub/linux/
- cnuce-arch.cnr.it /pub/Linux/
- ftp.orst.edu /pub/mirrors/sunsite.unc.edu/linux/
- ftp.nectec.or.th /pub/mirrors/linux/
- ftp.switch.ch /mirrors/linux/
- ftp.iquest.com /pub/linux/sunsite/
- src.doc.ic.ac.uk /packages/linux/sunsite.unc-mirror/
- smug.student.adelaide.edu.au /pub/sunsite.linux/
- ftp.ba-mannheim.de /pub/linux/mirror.sunsite
- ftp.loria.fr /pub/linux/sunsite
- ftp.rz.uni-ulm.de /pub/mirrors/linux/sunsite
- ftp.cc.gatech.edu /pub/linux
-
-
-
-
-
- These FTP sites support annonymous FTP, which means login as ftp, and
- password as your email address, ie logname@yourhost.yourdomain.
-
-
-
- 15. One step further...
-
-
-
- 15.1. What are lock files?
-
- Lock file are simply a file saying that a particular device is in use.
- They are kept in /usr/spool/uucp, or /var/lock. Lock files are named
- LCK..<name>, where <name> is either a device name, or a UUCP site
- name. Certain processes create these locks so that they can have
- exclusive access to devices, for instance if you dial out on your
- modem, a lock will appear telling other processes that someone is
- using the modem already. Locks mainly contain the PID of the process
- that has locked the device. Most programs look at the lock, and try
- to determine if that lock is still valid by checking the process table
- for the process that has locked the device. If the lock is found to
- be valid, the program (should) exit. If not, some programs remove the
- stale lock, and use the device, creating their own lock in the
- process. Other programs just exit and tell you that the device is in
- use.
- 15.2. ``baud'' vs. ``bps''
-
- ``baud'' and ``bps'' are prehaps one of the most misused terms in the
- computing/telecom field. Many people use these terms interchangeably,
- when in fact they are not!
-
-
- baud
- The baud rate is a measure of how many times per second the
- signal sent by a modem (modulator-demodulator) changes. For
- example, a baud rate of 1200 implies one signal change every 833
- microseconds. Common baud rates are 300, 600, 1200, and 2400.
- Most high speed modems run at 2400 baud. Because of the
- bandwidth limitations on voice-grade phone lines, baud rates
- greater than 2400 are harder to achieve, and only work under
- very pristine phone line quality. ``baud'' is named after Emile
- Baudot, the inventor of the asynchronous telegraph printer.
-
-
- bps
- The bps rate is a measure of how many bits per second are
- transmitted. Common modem bps rates are 300, 1200, 2400, 4800,
- ... 28800. With V.42bis compression (4:1 compression),
- theoretical bps rates are possible up to 115200. This is what
- most people mean when they misuse the word ``baud''.
-
-
- So, if high speed modems are running at 2400 baud, how can they send
- 14400 bps? The modems achive a bps > baud rate by encoding a number
- of bits per baud. Thus, when 2 or more bits are encoded per baud, the
- bps rate exceeds the baud rate. If your modem connects at 14400 bps,
- it's going to be sending 6 bits per baud.
-
- How did this confusion start? Well, back when low speed modems were
- high speed modems, the bps rate actually did equal the baud rate. One
- bit would be encoded per baud. People would use bps and baud
- interchangeably, because they were the same number. For example, a
- 300 bps modem also had a baud rate of 300. This all changed when
- faster bps modems came around, and the bit rate exceeded the baud
- rate.
-
-
-
- 15.3. What are UARTs? How do they affect performance?
-
- UARTs (Universal Asyncronous Receiver Transmitter) are chips on your
- PC serial card. Their purpose is to convert data to bits, send the
- bits down the serial line, and then rebuild the data again on the
- other end. UARTs deal with data in byte sized pieces, which is
- conveniently also the size of ASCII characters.
-
-
- Say you have a terminal hooked up to your PC. When you type a
- character, the terminal presents it to it's transmitter (also a UART,
- although probably different that the PC UART). The transmitter sends
- that byte out onto the serial line, one bit at a time, at a specific
- rate. On the PC end, the receiving UART takes all the bits and
- rebuilds the byte and puts it in a buffer.
-
-
- There are two different types of UARTs. You have probably heard of
- dumb UARTs - the 8250 and 16450, and smart or FIFO UARTs - the 16550A.
- To understand their differences, first let's examine what happens when
- a UART has sent or received a byte.
-
-
- The UART itself can't do anything with the data, it just sends and
- receives it. The CPU gets an interrupt every time a byte has been
- sent or received. The CPU then moves the received byte out of the
- UART's buffer and into memory somewhere, or gives the UART another
- byte to send. The 8250 and 16450 UARTs only have a 1 byte buffer.
- That means, that every time 1 byte is sent or received, it interrupts
- the CPU. At low rates, this is OK. But, at high transfer rates, the
- CPU get so busy dealing with the UART, that is doesn't have time to
- tend to other tasks. In some cases, the CPU does not get around to
- servicing the interrupt in time, and the byte is overwritten, because
- they are coming in so fast.
-
-
- That's where the 16550A UARTs come in. These chips come with 16 byte
- FIFOs. This means that it can receive or transmit up to 16 bytes
- before it has to interrupt the CPU. Not only can it wait, but the CPU
- then can transfer all 16 bytes at a time. Although the interrupt
- threshold is seldom set at 16, this is still a significant advantage
- over the other UARTs, which only have the 1 byte buffer. The CPU
- receives less interrupts, and is free to do other things. Data is
- not lost, and everyone is happy.
-
-
- In general, the 8250 and 16450 UARTs should be fine for speeds up to
- 19200 bps. At speeds greater than 19200 bps, you might start seeing
- data loss, and a reduction in interactive response time. Other PC
- operating systems (definition used loosely here), like DOS aren't
- multitasking, so they might be able to cope better with 8250 or
- 16450s. That's why some people don't see data loss, until they switch
- to Linux.
-
-
- Keep in mind that these dumb UART types are not bad, they just aren't
- good for high speeds. You should have no problem connecting a
- terminal, or a mouse to these UARTs. But, for a high speed modem, the
- 16550A is definately a must.
-
-
- You can buy serial cards with the 16550A UARTs for a little more
- money, just ask your dealer what type of UART is on the card. Or if
- you want to upgrade your existing card, you can simply purchase 16550A
- chips and replace your existing 16450 UARTs. They are pin-to-pin
- compatible. Some cards come with socketed UARTs for this purpose, if
- not you can solder. Note, that you'll probably save yourself a lot of
- trouble by just getting a new card, if you've got the money, they are
- under US$ 50.
-
-
-
- 16. Troubleshooting
-
- 16.1. I keep getting ``line NNN of inittab invalid''.
-
- Make sure you are using the correct syntax for your version of init.
- The different init's that are out there use different syntax in the
- /etc/inittab file. Make sure you are using the correct syntax for
- your version of getty.
-
-
- 16.2. When I try to dial out, it says ``/dev/cuaN: Device or resource
- busy''.
-
- This problem can arise when DCD or DTR are not set correctly. DCD
- should only be set when there is an actual connection (ie someone is
- dialed in), not when getty is watching the port. Check to make sure
- that your modem is configured to only set DCD when there is a
- connection. DTR should be set whenever something is using, or
- watching the line, like getty, kermit, or some other comm program.
-
- Another common cause of ``device busy'' errors, is that you set up
- your serial port with an interrupt already taken by something else.
- As each device initializes, it asks Linux for permission to use its
- hardware interrupt. Linux keeps track of which interrupt is assigned
- to whom, and if your interrupt is already taken, your device won't be
- able to initialize properly. The device really doesn't have much of
- any way to tell you that this happened, except that when you try to
- use it, it will return a ``device-busy'' error. Check the interrupts
- on all of your cards (serial, ethernet, SCSI, etc.). Look for IRQ
- conflicts.
-
-
- 16.3. I keep getting ``Id SN respawning too fast: disabled for 5 min-
- utes''.
-
- Make sure your modem is configured correctly. Look at registers ` E
- and Q. This can occur when your modem is chatting with getty.
-
- Make sure you are calling getty correctly from your /etc/inittab.
- Using the wrong syntax or device names will cause serious problems.
-
-
- 16.4. Serial devices are slow or serial devices can only send in one
- direction.
-
- You probably have an IRQ conflict. Make sure there are no IRQs being
- shared. Check all your cards (serial, ethernet, SCSI, etc...). Make
- sure the jumper settings, and the setserial parameters are correct for
- all your serial devices.
-
-
- 16.5. My modem is hosed after someone hangs up.
-
- This can happen when your modem doesn't reset when DTR is dropped. I
- saw my RD and SD LEDs go nuts when this happened to me. You need to
- have your modem reset. Most Hayes compatible modems do this with &D3,
- but on my USR Courier, I had to set &D2 and S13=1. Check your modem
- manual.
-
-
- 16.6. I have a serial device connected, but root can't login on it.
-
- This is done on purpose for security reasons. Generally, you should
- only have root logins enabled on the console. It is considered
- dangerous to allow root logins on anything other than the console.
-
- But, you asked... Edit /etc/login.defs, and find the line that says
- CONSOLE. Add the name of the serial device to it. Say I have my
- terminal on ttyS1. I would change the line:
-
-
- CONSOLE tty1:tty2:tty3:tty4:tty5:tty6:tty8
-
-
-
-
- to
-
-
- CONSOLE tty1:tty2:tty3:tty4:tty5:tty6:tty8:ttyS1
-
-
-
- 16.7. it just locks up. I have my terminal connected to my PC, but
- after I type in a login name,
-
- You probably don't have CLOCAL in your /etc/gettydefs entry for the
- terminal, and you're probably not using a full null modem cable. You
- need CLOCAL. CLOCAL tells Linux to ignore modem control signals.
- Here is what it should look like:
-
-
- # 38400 bps Dumb Terminal entry
- DT38400# B38400 CS8 CLOCAL # B38400 SANE -ISTRIP CLOCAL #@S @L login: #D38400
- # 19200 bps Dumb Terminal entry
- DT19200# B19200 CS8 CLOCAL # B19200 SANE -ISTRIP CLOCAL #@S @L login: #DT19200
- # 9600 bps Dumb Terminal entry
- DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600
-
-
-
-
- Next, kill the getty process so a new one will be spawned with the new
- entry.
-
-
- 16.8. At high speeds, my modem looses data.
-
- If you are trying to run your modem at > 19200 bps, and you don't have
- 16550A UARTs, you should upgrade them. See section ``What are
- UARTs?'' about UARTs.
-
-
- 16.9. them configured. On startup, Linux doesn't report the serial
- devices the way I have
-
- This is true. Linux does not do any IRQ detection on startup, it only
- does serial device detection. Thus, disregard what it says about the
- IRQ, because it's just assuming the standard IRQs. This is done,
- because IRQ detection is unreliable, and can be fooled.
-
-
- So, even though I have my ttyS2 set at IRQ 5, I still see
-
-
- Jan 23 22:25:28 misfits vmunix: tty02 at 0x03e8 (irq = 4) is a 16550A
-
-
-
-
-
- You have to use setserial to tell Linux the IRQ you are using.
-
-
- 16.10. rz and/or sz don't work when I call my Linux box on my modem.
-
- If Linux looks for /dev/modem when you try to transfer files, look at
- /etc/profile, and /etc/csh.cshrc. There are a bunch of aliases
- defined there on some distributions, most notably Slackware. These
- aliases mess up the zmodem programs. Take them out, or correct them.
-
-
- 16.11. My screen is printing funny looking characters.
-
- This happens on virtual consoles when you send binary data to your
- screen, or sometimes on serial connections. The way to fix this is to
- type echo ^v^[c. For the control-character-impaired, thats echo
- <ctrl>v<esc>c.
-
- 16.12. getty or uugetty still doesn't work.
-
- There is a DEBUG option that comes with getty_ps. Edit your config
- file /etc/conf.{uu}getty.ttySN and add DEBUG=NNN. Where NNN is one of
- the following combination of numbers according to what you are trying
- to debug:
-
-
- D_OPT 001 option settings
- D_DEF 002 defaults file processing
- D_UTMP 004 utmp/wtmp processing
- D_INIT 010 line initialization (INIT)
- D_GTAB 020 gettytab file processing
- D_RUN 040 other runtime diagnostics
- D_RB 100 ringback debugging
- D_LOCK 200 uugetty lockfile processing
- D_SCH 400 schedule processing
- D_ALL 777 everything
-
-
-
-
- Setting DEBUG=010 is a good place to start.
-
-
- If you are running syslogd, debugging info will appear in your log
- files. If you aren't running syslogd info will appear in
- /tmp/getty:ttySN for debugging getty and /tmp/uugetty:ttySN for
- uugetty. Look at the debugging info and see what is going on. Most
- likely, you will need to tune some of the parameters in your config
- file, and you may have to configure your modem differently, too.
-
-
- 16.12.1. Alternate versions of getty
-
- You might like these better:
-
-
- mgetty, a different version of getty, can also handle faxes. It can
- be found on the Linux FTP sites.
-
-
- agetty, a simpler version of getty. This version comes with most
- distributions. If not, it should be on the Linux FTP sites.
-
-
-
- 17. Contributions
-
-
- There was no possible way to write this HOWTO alone. Although a lot
- of the HOWTO is my writing, I have often rewritten contributions to
- maintain continuity in the writing style and flow. Thanks to everyone
- who has contributed or commented, the list of people has gotten too
- long to list (somewhere over fifty). Special thanks to Matt Welch for
- coordinating the LPD project (I suspect that's much like herding
- cats), Ted T'so for answering questions about the serial drivers, and
- to Kris Gleason who maintains getty_ps.
-
-
- END OF Serial-HOWTO
-