Hardware manual

pairs are identical you must find out how they are set in both the driver and the hardware.
8.6 What is the IO Address and IRQ per the driver ?
Introduction
What the driver thinks is not necessarily how the hardware is actually set. If everything works OK then what
the driver thinks is likely correct (set in the hardware) and you don't need to investigate (unless you're curious
or want to become a guru). Ways to determine what the driver thinks include: boot-time messages I/O
Address & IRQ: Boot-time messages, the /proc directory "files" The /proc directory and setserial, and the
"setserial" command.
I/O Address & IRQ: Boot-time messages
In many cases your ports will automatically get low-level configured at boot-time (but not always correctly).
To see what is happening, look at the start-up messages on the screen. Don't neglect to check the messages
from the BIOS before Linux is loaded (no examples shown here). These BIOS messages may be frozen by
pressing the Pause key (while holding down shift). It's often tricky to freeze them and you may need to hit
Ctrl-Alt-Del while Linux is booting to start rebooting and try again. What these messages display may change
as booting progresses and it's often tricky to freeze it at exactly the right words.
Use Shift-PageUp to scroll back to the messages after they have flashed by. Shift-PageDown will scroll in the
opposite direction. The dmesg command (or looking at logs in /var/log) will show only the first of these two
messages. Here's an example of the start-up messages (as of 2004, almost the same as for 1999). Note that in
older versions ttyS1 was displayed in these messages as ttyS01, etc.
At first you see what was detected (but the irq is only a wild guess):
Serial driver version 4.27 with no serial options enabled
ttyS0 at 0x03f8 (irq = 4) is a 16550A
ttyS1 at 0x02f8 (irq = 3) is a 16550A
ttyS2 at 0x03e8 (irq = 4) is a 16550A
ttyS4 at port 0xeff0 (irq = 10) is a 16550A
Note that ttyS0-ttyS2 were detected by probing the standard addresses while ttyS4 is a PCI port detected by
probing the PCI configuration. Later setserial shows you what was saved in a configuration file (which you
may edit), but it's not necessarily correct either:
Loading the saved-state of the serial devices...
/dev/ttyS1 at 0x02f8 (irq = 3) is a 16550A
/dev/ttyS2 at 0x03e8 (irq = 5) is a 16550A
Note that the configuration file only had ttyS1-2 in it so that ttyS0 and ttyS4 were not affected by it. There is
also a slight discrepancy: The first message shows ttyS2 at irq=4 while the second shows it at irq=5. In most
cases the second message is the correct one. But if you're having trouble, it may be misleading. Before reading
the explanation of all of this complexity in the rest of this section, you might just try using your serial port and
see if it works OK. If so it may not be essential to read further.
The second message is from the setserial program being run at boot-time from a script in the /etc
directory tree. It shows what the device driver thinks is the correct configuration. But this too could be wrong.
For example, the irq could actually be set to irq=8 in the hardware (both messages wrong). The irq=5 could be
Serial HOWTO
8.5 IRQ & IO Address Must be Correct 30