I have 2 onboard 16550 serial ports that have been working
great. I need to install a third port so I got a basic 8250
seial card and installed this card as COM1 I then moved the
2 onboard serial ports to COM2 and COM3.
I know all the hardware is working correctly by themselves.
I have connected:
ttyS0 Testing (COM1 8250 serial card IRQ 4 at 3F8)
ttyS1 Modem (COM2 16550 onboard serial IRQ 3 at 2F8)
ttyS2 Mouse (COM3 16550 onboard serial IRQ 4 at 3E8)
When I boot all 3 are recognised by the BIOS and then by the
linux probe. I can then use the modem and send data out the
testing port.Both ttyS0 and ttyS1 work correctly.
It only when I run X that my problem shows up. Under X, the
mouse works and the modem works.
When sending data out the testing port (ttyS0) it is VERY slow but not corrupt. A single character is sent about
every 10seconds. Too my
amazement when I moved the mouse the data then got sent. It seems that when the mouse (ttyS2 Irq 4) generates an interupt the service routine also checks the Transmit
buffer of ttyS0 also at Irq 4.
Reading the Serial Howto it seems I should be able to share interupts like this so what else have I missed.
When I Switch back to a Text screen <CTL><ALT>1 The port
works again as it should.
Even though the Linux probe finds the seial ports correctly I still use setserial to make sure the ports are configured correctly.