Hardware manual
ISA PnP ports
For an ISA Plug-and-Play (PnP) port one may try the pnpdump program (part of isapnptools). If you
use the --dumpregs option then it should tell you the actual IO address and IRQ set in the port. It should also
find an ISA PnP port that is disabled. The address it "trys" is not the device's IO address, but a special address
used for communicating with PnP cards.
Finding a port that is not disabled (ISA, PCI, PnP, non-PnP)
Perhaps the BIOS messages will tell you some info before Linux starts booting. Use the shift-PageUp key to
step back thru the boot-time messages and look at the very first ones which are from the BIOS. This is how it
was before Linux started. Setserial can't change it but isapnp or setpci can. Starting with kernel 2.4, the serial
driver can make such changes for many (but not all) serial ports.
Using "scanport" (Debian only ??) will probe all I/O ports and will indicate what it thinks may be serial port.
After this you could try probing with setserial using the "autoconfig" option. You'll need to guess the
addresses to probe at (using clues from "scanport"). See What is Setserial.
For a port set with jumpers, the IO ports and IRQs are set per the jumpers. If the port is not Plug-and-Play
(PnP) but has been setup by using a DOS program, then it's set at whatever the person who ran that program
set it to.
Exploring via MS Windows (a last resort)
For PnP ports, checking on how it's configured under DOS/Windows may (or may not) imply how it's under
Linux. MS Windows stores its configuration info in its Registry which is not used by Linux so they are not
necessarily configured the same. If you let a PnP BIOS automatically do the configuring when you start Linux
(and have told the BIOS that you don't have a PnP operating system when starting Linux) then Linux should
use whatever configuration is in the BIOS's non-volatile memory. Windows also makes use of the same
non-volatile memory but doesn't necessarily configure it that way.
8.8 Choosing Serial IRQs
If you have Plug-and-Play ports then either a PnP BIOS or a serial driver may configure all your devices for
you so then you may not need to choose any IRQs. PnP software determines what it thinks is best and assigns
them (but it's not always best). But if you directly use isapnp (ISA bus) or jumpers then you have to choose. If
you already know what IRQ you want to use you could skip this section except that you may want to know
that IRQ 0 has a special use (see the following paragraph).
IRQ 0 is not an IRQ
While IRQ 0 is actually the timer (in hardware) it has a special meaning for setting a serial port with setserial.
It tells the driver that there is no interrupt for the port and the driver then will use polling methods. Such
polling puts more load on the CPU but can be tried if there is an interrupt conflict or mis-set interrupt. The
advantage of assigning IRQ 0 is that you don't need to know what interrupt is set in the hardware. It should be
used only as a temporary expedient until you are able to find a real interrupt to use.
Serial HOWTO
ISA PnP ports 33