On Fri, 9 Mar 2007, 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):
[....]
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.
Any ideas how to get the 4 ports on the other card working?
I've got only one of these cards installed, and although it's less
than a year old, it uses a completely different chipset than yours.
Here's my dmesg:
$ dmesg | grep ttyS
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS4 at I/O 0xdf08 (irq = 209) is a 16550A
ttyS5 at I/O 0xdf10 (irq = 209) is a 16550A
ttyS6 at I/O 0xdf18 (irq = 209) is a 16550A
ttyS7 at I/O 0xdf20 (irq = 209) is a 16550A
ttyS1 at I/O 0xdf28 (irq = 209) is a 16450
I *think* the 16450 UART is there to generate interrupts and allow
16550-unaware software to work with the 16550s (or, in your case, the
16C950s) -- but corrections to my hypothesis are welcome!
Still, what leaps out at me in your verbose lspci listings (below) is
that the card with PCI ID 0a:0a:[01] (IRQs 177/193) is showing up
while card 0a:0c.[01] (IRQs 217/225) isn't showing up at all.
I don't understand why each card is getting two IRQs, but I'd expect
to see something like
ttySX at I/O 0xXXXX (irq = 217) is a 16C950/954
show up in your dmesg. Instead, all the ttySX listings from your dmesg
have IRQs from only one of the cards.
Have you verified that each card works properly if installed by
itself, without the other?
0a:0a.0 Serial controller: Oxford Semiconductor Ltd OX16PCI954 (Quad 16950
UART) function 0 (Uart) (prog-if 06 [16950])
Subsystem: Oxford Semiconductor Ltd: Unknown device 0000
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 177
Region 0: I/O ports at 5020 [size=32]
Region 1: Memory at d2101000 (32-bit, non-prefetchable) [size=4K]
Region 2: I/O ports at 5000 [size=32]
Region 3: Memory at d2100000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 1
Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA
PME(D0+,D1-,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
0a:0a.1 Bridge: Oxford Semiconductor Ltd OX16PCI954 (Quad 16950 UART)
function 1 (8bit bus)
Subsystem: Oxford Semiconductor Ltd: Unknown device 0000
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin B routed to IRQ 193
Region 0: I/O ports at 5060 [size=32]
Region 1: Memory at d2103000 (32-bit, non-prefetchable) [size=4K]
Region 2: I/O ports at 5040 [size=32]
Region 3: Memory at d2102000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 1
Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA
PME(D0+,D1-,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
0a:0c.0 Serial controller: Oxford Semiconductor Ltd OX16PCI954 (Quad 16950
UART) function 0 (Uart) (prog-if 06 [16950])
Subsystem: Oxford Semiconductor Ltd: Unknown device 0000
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 217
Region 0: I/O ports at 50a0 [size=32]
Region 1: Memory at d2105000 (32-bit, non-prefetchable) [size=4K]
Region 2: I/O ports at 5080 [size=32]
Region 3: Memory at d2104000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 1
Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA
PME(D0+,D1-,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
0a:0c.1 Bridge: Oxford Semiconductor Ltd OX16PCI954 (Quad 16950 UART)
function 1 (8bit bus)
Subsystem: Oxford Semiconductor Ltd: Unknown device 0000
Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin B routed to IRQ 225
Region 0: I/O ports at 50e0 [size=32]
Region 1: Memory at d2107000 (32-bit, non-prefetchable) [size=4K]
Region 2: I/O ports at 50c0 [size=32]
Region 3: Memory at d2106000 (32-bit, non-prefetchable) [size=4K]
Capabilities: [40] Power Management version 1
Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA
PME(D0+,D1-,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
--
Paul Heinlein <> heinlein@xxxxxxxxxx <> www.madboa.com
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos