[CentOS] How do I configure additional serial ports?

Fri Mar 9 16:26:24 UTC 2007
James Pearson <james-p at moving-picture.com>

Alfred von Campe wrote:
> I have installed two 4-port serial cards (http://www.startech.com/ 
> Product/ItemDetail.aspx?productid=PCI4S550&c=US) on a CentOS 4.4  
> system.  The hardware appears to be recognized correctly, as kudzu  
> added 2 entries to /etc/sysconfig/hwconf and lscpi shows both cards  
> (output of lspci -vv for both cards included at the end of this email):
> 
> # lspci
> 00:00.0 Host bridge: Intel Corporation 945G/GZ/P/PL Express Memory  
> Controller Hub (rev 02)
> 00:01.0 PCI bridge: Intel Corporation 945G/GZ/P/PL Express PCI  Express 
> Root Port (rev 02)
> 00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High  
> Definition Audio Controller (rev 01)
> 00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI  Express 
> Port 1 (rev 01)
> 00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI  Express 
> Port 2 (rev 01)
> 00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB  UHCI 
> #1 (rev 01)
> 00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB  UHCI 
> #2 (rev 01)
> 00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB  UHCI 
> #3 (rev 01)
> 00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB  UHCI 
> #4 (rev 01)
> 00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2  
> EHCI Controller (rev 01)
> 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
> 00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC  
> Interface Bridge (rev 01)
> 00:1f.2 IDE interface: Intel Corporation 82801GB/GR/GH (ICH7 Family)  
> Serial ATA Storage Controller IDE (rev 01)
> 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus  Controller 
> (rev 01)
> 01:00.0 VGA compatible controller: nVidia Corporation NV44 [GeForce  
> 6200 TurboCache(TM)] (rev a1)
> 02:00.0 Ethernet controller: Intel Corporation 82573E Gigabit  Ethernet 
> Controller (Copper) (rev 03)
> 0a:0a.0 Serial controller: Oxford Semiconductor Ltd OX16PCI954 (Quad  
> 16950 UART) function 0 (Uart)
> 0a:0a.1 Bridge: Oxford Semiconductor Ltd OX16PCI954 (Quad 16950 UART)  
> function 1 (8bit bus)
> 0a:0c.0 Serial controller: Oxford Semiconductor Ltd OX16PCI954 (Quad  
> 16950 UART) function 0 (Uart)
> 0a:0c.1 Bridge: Oxford Semiconductor Ltd OX16PCI954 (Quad 16950 UART)  
> function 1 (8bit bus)
> 
> However, only the 4 serial ports on one of the two cards are  configured 
> correctly:
> 
> # dmesg | fgrep ttyS
> ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
> ttyS4 at I/O 0x5020 (irq = 177) is a 16C950/954
> ttyS5 at I/O 0x5028 (irq = 177) is a 16C950/954
> ttyS6 at I/O 0x5030 (irq = 177) is a 16C950/954
> ttyS7 at I/O 0x5038 (irq = 177) is a 16C950/954
> ttyS1 at I/O 0x5060 (irq = 193) is a 16450
> ttyS2 at I/O 0x5068 (irq = 193) is a 16450
> ttyS3 at I/O 0x5070 (irq = 193) is a 16450
> 
> I have no idea what ttyS1-3 are, but I've tested ttyS4-7 and they  work 
> fine.  If I only install one card (in either PCI slot 1 or 2) I  get the 
> same 4 ports.  If I install both cards, ttyS4-7 work on the  card that 
> is in PCI slot 2.

Never used these cards, but the standard CentOS4 kernel has the 
following config settings:

CONFIG_SERIAL_8250_NR_UARTS=4
# CONFIG_SERIAL_8250_MANY_PORTS is not set

This might be your problem ...

James Pearson