I am in the process of migrating from running CentOS 4.8 (32-bit) to CentOS 5.4 (64-bit) on my AMD Sempron(tm) Processor LE-1300 system (it is running CentOS 4.8 32-bit because the disk images are from a previous PIII system), and things are 'interesting' WRT how the Lava Computer mfg Inc Quattro-PCI card is being handled.
lspci (on CentOS 4.8 32-bit) yields:
01:0a.0 Serial controller: Lava Computer mfg Inc Quattro-PCI A 01:0a.1 Serial controller: Lava Computer mfg Inc Quattro-PCI B
On the 32-bit system (2.6.9-89.0.18.EL.plus.c4 [i686]) dmesg says:
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing enabled ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A ACPI: PCI Interrupt 0000:01:0a.0[A] -> GSI 16 (level, low) -> IRQ 233 ttyS4 at I/O 0xd080 (irq = 233) is a 16550A ttyS5 at I/O 0xd000 (irq = 233) is a 16550A ACPI: PCI Interrupt 0000:01:0a.1[A] -> GSI 16 (level, low) -> IRQ 233 ttyS6 at I/O 0xcc00 (irq = 233) is a 16550A ttyS7 at I/O 0xc880 (irq = 233) is a 16550A
With the 64-bit kernel (2.6.18-164.el5 [x86_64]) I get:
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A 00:0a: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 19 ACPI: PCI Interrupt 0000:01:0a.0[A] -> Link [LNKC] -> GSI 19 (level, low) -> IRQ 177 0000:01:0a.0: ttyS2 at I/O 0xd080 (irq = 177) is a 16550A 0000:01:0a.0: ttyS3 at I/O 0xd000 (irq = 177) is a 16550A ACPI: PCI Interrupt 0000:01:0a.1[A] -> Link [LNKC] -> GSI 19 (level, low) -> IRQ 177 Couldn't register serial port 0000:01:0a.1: -28
OK, instead of skipping ttyS2 and ttyS3 (normally old-school on-board COM3 and COM4) and allocating ttyS4 through ttyS7 for the Quattro, it is assigning ttyS2 and ttyS3 to the first pair, and then barfing (-28?) on the second pair. I looked at the config files and found:
The 4.8 kernel has:
# # Serial drivers # 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
and the 5.4 kernel has:
# # Serial drivers # CONFIG_SERIAL_8250=y CONFIG_SERIAL_8250_CONSOLE=y CONFIG_SERIAL_8250_CS=m # CONFIG_SERIAL_8250_ACPI is not set CONFIG_SERIAL_8250_NR_UARTS=4 CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250_MANY_PORTS is not set CONFIG_SERIAL_8250_SHARE_IRQ=y CONFIG_SERIAL_8250_DETECT_IRQ=y CONFIG_SERIAL_8250_MULTIPORT=y CONFIG_SERIAL_8250_RSA=y
Is what I am seeing a result of CONFIG_SERIAL_8250_ACPI and/or CONFIG_SERIAL_8250_MANY_PORTS not being set?
Would upgrading to the CentOSPlus kernel help?