Troubleshooting

# 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, 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:

> `

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

> `

Next, `kill -TERM` 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 section What are UARTs? 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 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. You can try the `reset` command, but I've found that it doesn't fix the problem. The sure fire way to fix this is to type `echo ^v^[c`. For the ASCII impaired, thats `echo <ctrl>v<esc>c`.

## 17.10 `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.ttyS`N 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:ttyS`N 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