I have been using a RHEL 3r7 box to manage a bunch of dumb ISA serial cards on an industrial PC. Unfortunately, the PC's aren't going to get upgraded any time soon. I want to migrate to FC6, but I can't get the serial cards to work. In RHEL 3r7 I have a serial setup script:
#!/bin/bash
SS=/bin/setserial
$SS /dev/ttyS4 port 0x0100 irq 5 uart 16550A ^fourport
$SS /dev/ttyS5 port 0x0108 irq 5 uart 16550A ^fourport
$SS /dev/ttyS6 port 0x0110 irq 5 uart 16550A ^fourport
$SS /dev/ttyS7 port 0x0118 irq 5 uart 16550A ^fourport
$SS /dev/ttyS8 port 0x0120 irq 5 uart 16550A ^fourport
$SS /dev/ttyS9 port 0x0128 irq 5 uart 16550A ^fourport
$SS /dev/ttyS10 port 0x0130 irq 5 uart 16550A ^fourport
$SS /dev/ttyS11 port 0x0138 irq 5 uart 16550A ^fourport
$SS /dev/ttyS12 port 0x01A0 irq 5 uart 16550A ^fourport
$SS /dev/ttyS13 port 0x01A8 irq 5 uart 16550A ^fourport
$SS /dev/ttyS14 port 0x01B0 irq 5 uart 16550A ^fourport
$SS /dev/ttyS15 port 0x01B8 irq 5 uart 16550A ^fourport
$SS /dev/ttyS16 port 0x01C0 irq 5 uart 16550A ^fourport
$SS /dev/ttyS17 port 0x01C8 irq 5 uart 16550A ^fourport
$SS /dev/ttyS18 port 0x01D0 irq 5 uart 16550A ^fourport
$SS /dev/ttyS19 port 0x01D8 irq 5 uart 16550A ^fourport
that sets up the ports. Note that they are IRQ sharing, and each port is specified. They are not ISAPnP - just dumb ports.
With FC6, I can't seem to get them to load at all. Even if I create the device files using mknod (i.e.: mknod -m 660 /dev/ttyS4 c 4 68), they do not link to the hardware and the setserial commands fail. I have checked the 8250 driver options in the kernel and they look good to me:
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_CS=m
CONFIG_SERIAL_8250_NR_UARTS=32
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
# CONFIG_SERIAL_8250_FOURPORT is not set
# CONFIG_SERIAL_8250_ACCENT is not set
# CONFIG_SERIAL_8250_BOCA is not set
# CONFIG_SERIAL_8250_HUB6 is not set
I note that there are only 4 created by default, but that the max (NR_UARTS ?) is 32. I'm considering recompiling the kernel with a default of 20 (my 16 + 4 for the system) to see if that works, but I was hoping for a less drastic fix.
I suspect that there is something I must do to udev to have it create the nodes for these ports, but I can't seem to find any information on creating nodes. Lots of info on writing rules, but not on creating the nodes by specifying IRQ, Port and Driver. Maybe it's a rule and I just don't get it.
Any help would be appreciated.
--JATF