Previous Next Contents

15. Troubleshooting

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

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

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

This can also happen when the uugetty initialization is failing. Go to the ``getty or uugetty still doesn't work'' question.

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

15.5 My modem is hosed after someone hangs up, or uugetty doesn'trespawn.

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.

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

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

15.7 At high speeds, my modem loses 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.

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

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

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

15.11 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, and in /var/adm/getty.log. 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 reconfigure your modem.

You could also try mgetty. Some people have better luck with it.


Previous Next Contents