Hardware manual
15.2 Kernel Configuration
15.3 Number of Serial Ports Supported
If you have more than 4 (or possibly 2) serial ports, then you must insure that the kernel knows this. It can be
done by configuring the kernel when compiling or by a parameter given to the kernel when it starts
(boot-prompt or kernel command line).
The kernel configuration parameters: CONFIG_SERIAL_8250_RUNTIME_UARTS=4 and
CONFIG_SERIAL_8250_NR_UARTS=4 set the maximum number of ordinary serial ports (UARTs) equal to
4. If you have more than 4 ordinary serial ports, then you need to change the 4 to whatever. But you may
override this via the kernel command line for example: nr_uarts=16 (if serial support built into the kernel) or
8250.nr_uarts=16 (if serial support is via a module). The boot loader such as lilo or grub can be told to do this.
15.4 Serial Console (console on the serial port)
See the kernel documentation in: Documentation/serial-console.txt. Kernel 2.4+ has better documentation. See
also "Serial Console" in Text-Terminal-HOWTO.
15.5 Line Drivers
For a text terminal, the RS-232 speeds are fast enough but the usable cable length is often too short. Balanced
technology could fix this. The common method of obtaining balanced communication with a text terminal is
to install 2 line drivers in the serial line to convert unbalanced to balanced (and conversely). They are a
specialty item and are expensive if purchased new.
15.6 Stopping the Data Flow when Printing, etc.
Normally flow control and/or application programs stop the flow of bytes when its needed. But sometimes
they don't. The problem is that output to the serial port first passes thru the large serial buffer in the PC's main
memory. So if you want to abort printing, whatever is in this buffer should be removed. When you tell an
application program to stop printing, it may not empty this buffer so printing continues until it's empty. In
addition, your printer has it's own buffer which needs to be cleared. So telling the PC to stop printing may not
work due to these two buffers that continue to supply bytes for the printer. It's a problem with printer software
not knowing about the serial port and that modem control lines need to be dropped to stop the printer.
One way to insure that printing stops is to just turn off the printer. With newer serial drivers, this works OK.
The buffers are cleared and printing doesn't resume. With older serial drivers, the PC's serial buffer didn't
clear and it would sometimes continue to print when the printer was turned back on. To avoid this, you must
wait a time specified by setserial's closing_wait before turning the printer back on again. You may also need
to remove the print job from the print queue so it won't try to resume.
15.7 Known IO Address Conflicts
Serial HOWTO
15.2 Kernel Configuration 57