Hardware manual
busy message goes away, it was likely a potential interrupt conflict. It's not a good idea to leave it
permanently set at 0 since it will put more load on the CPU.
16.16 "Input/output error" from setserial, stty, pppd, etc.
This means that communication with the serial port isn't working right. It could mean that there isn't any serial
port at the IO address that setserial thinks your port is at. It could also be an interrupt conflict (or an IO
address conflict). It also may mean that the serial port is in use (busy or opened) and thus the attempt to get/set
parameters by setserial or stty failed. It will also happen if you make a typo in the serial port name such as
typing "ttys" instead of "ttyS".
16.17 "LSR safety check engaged"
LSR is the name of a hardware register. It usually means that there is no serial port at the address where the
driver thinks your serial port is located. You need to find your serial port and possibly configure it. See
Locating the Serial Port: IO address IRQs and/or What is Setserial
16.18 Overrun errors on serial port
This is an overrun of the hardware FIFO buffer and you can't increase its size. Bug note (reported in 2002):
Due to a bug in some kernel 2.4 versions, the port number may be missing and you will only see "ttyS" (no
port number). But if devfs notation such as "tts/2" was being used, there was no bug. See Higher Serial
Thruput.
16.19 Port gets characters only sporadically
There could be some other program running on the port. Use "top" (provided you've set it to display the port
number) or type "ps -alxw". Look at the results to see if the port is being used by another program. Be on the
lookout for the gpm mouse program which often runs on a serial port.
16.20 Troubleshooting Tools
These are some of the programs you might want to use in troubleshooting:
"lsof /dev/ttyS*" will list serial ports which are open.•
"setserial" shows and sets the low-level hardware configuration of a port (what the driver thinks it is).
See What is Setserial
•
"stty" shows and sets the configuration of a port (except for that handled by "setserial"). See the
section Stty
•
"modemstat" or "statserial" or "watch head /proc/tty/driver/serial" will show the current state of
various modem signal lines (such as DTR, CTS, etc.). The one in /proc also shows byte flow and
errors.
•
"irqtune" will give serial port interrupts higher priority to improve performance.•
"hdparm" for hard-disk tuning may help some more.•
"lspci" shows the actual IRQs, etc. of hardware on the PCI bus.•
"pnpdump --dumpregs" shows the actual IRQs, etc. of hardware for PnP devices on the ISA bus.•
Some "files" in the /proc tree (such as ioports, interrupts, and tty/driver/serial).•
Serial HOWTO
16.15 "/dev/tty? Device or resource busy" 64