Robert Heller
2010-Jan-08 21:54 UTC
[CentOS] Serial port fun: CentOS 4.8 (32-bit) vs. CentOS 5.4 (64-bit)
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? -- Robert Heller -- 978-544-6933 Deepwoods Software -- Download the Model Railroad System http://www.deepsoft.com/ -- Binaries for Linux and MS-Windows heller at deepsoft.com -- http://www.deepsoft.com/ModelRailroadSystem/
Ron Loftin
2010-Jan-08 22:13 UTC
[CentOS] Serial port fun: CentOS 4.8 (32-bit) vs. CentOS 5.4 (64-bit)
On Fri, 2010-01-08 at 16:54 -0500, Robert Heller wrote:> 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?I don't think you need the plus kernel. I did a similar dance when migrating to CentOS 5 on a box with a NetMOS serial card. My research led me to the boot-time kernel arguments related to the 8250 serial driver. Note that this has to be done as arguments to the kernel, in grub, because the 8250 driver is NOT built as a module, but is included in the basic kernel. After some banging around, I wound up with the argument "8250.nr_uarts=8" appended to the end of the "kernel" line in grub, and that made things work. This is sort of documented in /usr/share/doc/kernel-doc-2.6.18/Documentation/kernel-parameters.txt. You do have to understand how the kernel params work, but after you get that straight, the rest follows.>-- Ron Loftin reloftin at twcny.rr.com "God, root, what is difference ?" Piter from UserFriendly
JohnS
2010-Jan-08 23:08 UTC
[CentOS] Serial port fun: CentOS 4.8 (32-bit) vs. CentOS 5.4 (64-bit)
On Fri, 2010-01-08 at 14:55 -0800, Akemi Yagi wrote:> On Fri, Jan 8, 2010 at 2:44 PM, JohnS <jses27 at gmail.com> wrote: > > > > On Fri, 2010-01-08 at 17:13 -0500, Ron Loftin wrote: > > > Also I have a problem with your post, heres why: The same for CentOS and > > RHEL 5. > > > > uname -ra > > Linux ethies 2.6.18-164.9.1.el5 #1 SMP Tue Dec 15 21:04:57 EST 2009 i686 > > i686 i386 GNU/Linux > > # > > # 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 > > > > That can not be a """5""" Kernel you listed > > John > > In the original post, the list for 4.8 and the one for 5.4 were swapped. :) > > Akemi--- LOL why yall do me like that... :-) John