I recently added a new I/O card to my system that has 4 serial ports (via 2
16552 UARTS) that are each configurable from com 1-8. Right now, I have
the first three ports set to com 1, 3, and 4 (the modem is on 2). All of
those ports work fine. However, I can't get the fourth port (on com 5) to
work right. The board's documentation says that it maps com5 to 0x2F0 (I
assume this is standard?) so I use this line in /etc/rc.d/rc.serial:
setserial -b /dev/cua4 port 0x2F0 uart 16550A irq 15
Looking through linux/drivers/char/serial.c I noticed this line:
{ 0, BASE_BAUD, 0x1A0, 9, FOURPORT_FLAGS }, /* ttyS4 */
Which is probably why when the setserial -bg command for cua4 is
issued, I get this output:
/dev/cua4 at 0x02f0 (irq = 15) is a 16550 (Fourport)
Since I am trying to use this port to connect to my calculator (HP48) I use
the program rx/sx to test the connection. Neither works. However, if I do
a cat /dev/cua4, then attempt to start a transfer from the calculator, I
see what looks like the calculator's attempt to start a transfer get
printed out.
I tried switching around the port address/irqs to see if the card was the
problem - it isn't. No matter where I locate /dev/cua4, I can't get it to
work right. Does the fact that setserial thinks it is a fourport have
something to do with this?
Is there any way that I can modify the serial driver to treat com ports 5-8
just like the first four?
Thanks,
Zach
--
Zachary X. Vonler ----------------------------- http://www.unt.edu/~zvonler
The world's as ugly as sin,
And almost as delightful
-- Frederick Locker-Lampson