Re: serial ports

Ronald Hesper (R.Hesper@phys.rug.nl)
Mon, 5 Aug 96 19:43:29 METDST


Greetings

The problem is that the ISA bus architecture uses edge-triggered interrupts.
That means that the processor only takes notice when the IRQ line drops from
the 1 state to the 0 state, not if it is held low. Since the serial device only
releases the IRQ line when the processor reads the latched data, no other
negative transitions (i.e. interrupts) are possible in the meantime. This
causes overrun errors in other devices hanging off the same IRQ line as
their interrupts are not serviced in time (or at all actually).

If you are sure that one of the two ports will be silent (because it is not
opened, which implies, I assume, that its interrupts are disabled), there is no
problem. Otherwise, try setting one of the ports to a unused IRQ and use
setserial to tell the kernel.

Cheers

Ronald Hesper
hesper@phys.rug.nl

PS. My excuses to everyone who already knew all this for the wasted bandwidth.

>
> Hi!
>
> I'm sorry, if this is a newbie question, but:
>
> Why is it impossible for multiple (standard) serial ports (ttyS?) to
> use the same IRQs?
>
> If the ports are used one by one (a process opens a port, does smth
> with it, closes it), they can be on the same IRQ. But this can't be
> done using these IRQ sharing ports at the same time (overrun errors).
>
> If I remember correctly, I once did smth like this when I used DOS.
>
> Is it some hardware limitation or what? When an interrupt occurs,
> serial driver could look up which port it was meant for, couldn't it?
>
> *********************************
> Magnus Hiie
> Computer Manager
> Eesti Ekspress
> E-mail: mgn@ekspress.ee
> Tel: +372 6408046
> GSM: +372 56 51146
>
>