17 Troubleshooting

Contents of this section

17.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.

17.2 When I try to dial out, it says "/dev/cuan: Device or resource busy"

This problem can arise when DCD is 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. When getty sees DCD get set, it will lock the port and probably spawn login. Check to make sure that your modem is configured to only set DCD when there is a connection. DTR and RTS 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, etc.). Look for IRQ conflicts.

17.3 I keep getting "Id Sn respawning too fast: disabled for 5 minutes"

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.

17.4 I have a modem/terminal 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

17.5 I have my terminal connected to my PC, but after I type in a login name, it just locks up.

You probably don't have CLOCAL in your /etc/gettydefs entry for the terminal. You need CLOCAL. Here is what it should look like:

#9600 baud Dumb Terminal entry
DT9600# B9600 CS8 CLOCAL # B9600 SANE -ISTRIP CLOCAL #@S @L login: #DT9600

Next, kill -9 the getty process so a new one will be spawned with the new entry.

17.6 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 the section about UARTs.

17.7 On startup, Linux doesn't report the serial devices the way I have them configured!

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.

17.8 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.

17.9 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=777. 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:ttyS,n 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.

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, yet another version of getty. This version comes with most distributions. If not, it should be on the Linux FTP sites.

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter