Hardware manual
Plug-and-Play (PnP) was designed to automate this io-irq configuring, but for Linux it initially made life
much more complicated. In modern Linux (2.4 kernels --partially in 2.2 kernels), each device driver has to do
its own PnP (using supplied software which it may utilize). There is unfortunately no centralized planning for
assigning IO addresses and IRQs as there is in MS Windows. But it usually works out OK in Linux anyway.
Using a PnP BIOS to IO-IRQ Configure
While the explanation of how to use setpci or isapnp for io-irq configuring should come with such software,
this is not the case if you want to let a PnP BIOS do such configuring. Not all PnP BIOS can do this. The
BIOS usually has a CMOS menu for setting up the first two serial ports. This menu may be hard to find. For
an "Award" BIOS it was found under "chipset features setup" There is often little to choose from. For ISA
serial ports, the first two ports normally get set at the standard IO addresses and IRQs. See More on Serial
Port Names
Whether you like it or not, when you start up a PC, a PnP BIOS starts to do PnP (io-irq) configuring of
hardware devices. It may do the job partially and turn the rest over to a PnP OS (which Linux is in some
sense) or if thinks you don't have a PnP OS it may fully configure all the PnP devices but not configure the
device drivers.
If you tell the BIOS that you don't have a PnP OS, then the PnP BIOS should do the configuring of all PnP
serial ports --not just the first two. An indirect way to control what the BIOS does (if you have Windows 9x
on the same PC) is to "force" a configuration under Windows. See Plug-and-Play-HOWTO and search for
"forced". It's easier to use the CMOS BIOS menu which may override what you "forced" under Windows.
There could be a BIOS option that can set or disable this "override" capability.
If you add a new PnP device, the BIOS should PnP configure it. It could even change the io-irq of existing
devices if required to avoid any conflicts. For this purpose, it keeps a list of non-PnP devices provided that
you have told the BIOS how these non-PnP devices are io-irq configured. One way to tell the BIOS this is by
running a program called ICU under DOS/Windows.
But how do you find out what the BIOS has done so that you set up the device drivers with this info? The
BIOS itself may provide some info, either in its setup menus of via messages on the screen when you turn on
your computer. See What is set in my serial port hardware?. Other ways of finding out is to use lspci for the
PCI bus or isapnp --dumpregs for the ISA bus. The cryptic results it shows you may not be clear to a novice.
8.11 Giving the IRQ and IO Address to Setserial
Once you've set the IRQ and IO address in the hardware (or arranged for it to be done by PnP) you also need
to insure that the "setserial" command is run each time you start Linux. See the subsection Boot-time
Configuration
9. Configuring the Serial Driver (high-level) "stty"
9.1 Overview
See the section Stty. The "stty" command sets many things such as flow control, speed, and parity. The only
one discussed in this section is flow control.
Serial HOWTO
8.10 Set IO Address & IRQ in the hardware (mostly for PnP) 36