On Fri, 2006-06-23 at 13:46 -0400, Alfred von Campe wrote:
I installed a 2 port serial PCI card on a system running CentOS 4.3, but I can't get the additional serial ports to work. The card I used is from StarTech (http://www.startech.com/Product/ItemDetail.aspx? productid=PCI2S550&c=US). When it is detected by kudzu, it shows up as a "NetMos Technologies PCI 9835 Multi I/O Controller". I've included the output of "lspci" and "cat /proc/pci" below.
The (very sparse) instructions for Linux support for this card state that you should look for the string "serial port x" in the contents of /proc/pci, and then use that information with the setserial command to configure the port as follows:
# setserial /dev/ttyS2 port 0xc000 uart 16550 irq 11 baud_base
115200
The problem is that I can't find the equivalent of the "0xc000" and the IRQ on my system in the contents of /proc/pci. Here is what the built-in, working serial port looks like:
# setserial -a /dev/ttyS0 /dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4 Baud_base: 115200, close_delay: 500, divisor: 0 closing_wait: 30000 Flags: spd_normal skip_test auto_irq
Any ideas how to get these serial ports working?
First look at /var/log/dmesg and see if it's found there. If it is, should should see some accurate numbers. Also /var/log/messages might have something.
A reported IRQ and startmem address should be shown and might not match the instructions, which a very likely examples only. Hopefully those will give clues you need.
If that fails, watch the screen at reboot (with settings that slow things down) and observe the ESCD display that lists the ports, controllers, etc. You might see a real address and IRQ there.
Make sure there is a real /dev/ttyS2 in /dev. This presumes that it is the 3rd serial port. 2nd would be ttyS1. It must have the right minor device for the nth serial card. That is usually (nth - 1) + some-magic.
Results like 64, 65, 66, ... for minor device. And maybe ttyS* is not right for this card? It's been so long since I read up on that stuff... S means wait for carrier detect before allowing open? This is, "blocking read". Others don't need that, "non-blocking read". Like a dumb terminal hooked up with a badly made null-modem cable or adapter.
Thanks, Alfred
<snip>
HTH