Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   Fedora User (http://www.linux-archive.org/fedora-user/)
-   -   Enabling a four-port serial card (http://www.linux-archive.org/fedora-user/14234-enabling-four-port-serial-card.html)

David Scriven 12-06-2007 11:51 PM

Enabling a four-port serial card
 
Dear All,

I'm trying to enable a four-port serial card (you'ld be
surprised how many pieces of equipment still have
RS232 interfaces). I'm using Fedora 7 on a quad-core
Intel Q6600 machine with 4GB of memory.

#/sbin/lspci -vvvx shows the following:

07:01.0 Serial controller: NetMos Technology PCI 9845 Multi-I/O Controller (rev 01) (prog-if 02 [16550])
Subsystem: LSI Logic / Symbios Logic 0P4S (4 port 16550A serial card)
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 21
Region 0: I/O ports at 1030 [size=8]
Region 1: I/O ports at 1028 [size=8]
Region 2: I/O ports at 1020 [size=8]
Region 3: I/O ports at 1018 [size=8]
Region 4: I/O ports at 1010 [size=8]
Region 5: I/O ports at 1000 [size=16]
00: 10 97 45 98 03 00 80 02 01 02 00 07 10 20 00 00
10: 31 10 00 00 29 10 00 00 21 10 00 00 19 10 00 00
20: 11 10 00 00 01 10 00 00 00 00 00 00 00 10 04 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 0a 01 00 00

when I do a setserial I get this:

# /bin/setserial -avg /dev/ttyS*
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x1030, IRQ: 21
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test

/dev/ttyS1, Line 1, UART: undefined, Port: 0x02f8, IRQ: 3
Baud_base: 921600, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test auto_irq

/dev/ttyS2, Line 2, UART: 16550A, Port: 0x1028, IRQ: 21
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test

/dev/ttyS3, Line 3, UART: 16550A, Port: 0x1020, IRQ: 21
Baud_base: 115200, close_delay: 50, divisor: 0
closing_wait: 3000
Flags: spd_normal skip_test


Clearly /dev/ttyS1 is not OK, but I've no idea how to
set it up so it is OK - I'd be grateful for any help.

Thanks,
David Scriven




Connect with friends from any web browser - no download required. Try the new Yahoo! Canada Messenger for the Web BETA at http://ca.messenger.yahoo.com/webmessengerpromo.php

--
fedora-list mailing list
fedora-list@redhat.com
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list

Alan Cox 12-07-2007 12:10 AM

Enabling a four-port serial card
 
> Clearly /dev/ttyS1 is not OK, but I've no idea how to
> set it up so it is OK - I'd be grateful for any help.

Sounds like the FC7 kernel was built with a very low number of serial
ports defined so it filled in /dev/ttyS1 with the motherboard port entry
(not present it seems), then filled 2, 3 and filled 0 back in as a last
desperate act as it couldn't fill 4,5,6...

--
fedora-list mailing list
fedora-list@redhat.com
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list

Rick Stevens 12-07-2007 12:14 AM

Enabling a four-port serial card
 
On Thu, 2007-12-06 at 16:51 -0800, David Scriven wrote:
> Dear All,
>
> I'm trying to enable a four-port serial card (you'ld be
> surprised how many pieces of equipment still have
> RS232 interfaces). I'm using Fedora 7 on a quad-core
> Intel Q6600 machine with 4GB of memory.
>
> #/sbin/lspci -vvvx shows the following:
>
> 07:01.0 Serial controller: NetMos Technology PCI 9845 Multi-I/O Controller (rev 01) (prog-if 02 [16550])
> Subsystem: LSI Logic / Symbios Logic 0P4S (4 port 16550A serial card)
> 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 21
> Region 0: I/O ports at 1030 [size=8]
> Region 1: I/O ports at 1028 [size=8]
> Region 2: I/O ports at 1020 [size=8]
> Region 3: I/O ports at 1018 [size=8]
> Region 4: I/O ports at 1010 [size=8]
> Region 5: I/O ports at 1000 [size=16]
> 00: 10 97 45 98 03 00 80 02 01 02 00 07 10 20 00 00
> 10: 31 10 00 00 29 10 00 00 21 10 00 00 19 10 00 00
> 20: 11 10 00 00 01 10 00 00 00 00 00 00 00 10 04 00
> 30: 00 00 00 00 00 00 00 00 00 00 00 00 0a 01 00 00
>
> when I do a setserial I get this:
>
> # /bin/setserial -avg /dev/ttyS*
> /dev/ttyS0, Line 0, UART: 16550A, Port: 0x1030, IRQ: 21
> Baud_base: 115200, close_delay: 50, divisor: 0
> closing_wait: 3000
> Flags: spd_normal skip_test
>
> /dev/ttyS1, Line 1, UART: undefined, Port: 0x02f8, IRQ: 3
> Baud_base: 921600, close_delay: 50, divisor: 0
> closing_wait: 3000
> Flags: spd_normal skip_test auto_irq
>
> /dev/ttyS2, Line 2, UART: 16550A, Port: 0x1028, IRQ: 21
> Baud_base: 115200, close_delay: 50, divisor: 0
> closing_wait: 3000
> Flags: spd_normal skip_test
>
> /dev/ttyS3, Line 3, UART: 16550A, Port: 0x1020, IRQ: 21
> Baud_base: 115200, close_delay: 50, divisor: 0
> closing_wait: 3000
> Flags: spd_normal skip_test
>
>
> Clearly /dev/ttyS1 is not OK, but I've no idea how to
> set it up so it is OK - I'd be grateful for any help.

Hmmm. S0, S2 and S3 are all on IRQ21 and using high port numbers, but
S1 is in the normal spot for a COM2 or second serial port (port 0x2f8,
IRQ3). Do you possibly have another device sharing IRQ3 or possibly
port 0x2f8? Check /proc/ioports and any files under /proc/irq/3. Also
check /var/log/messages and dmesg for any possible information.

----------------------------------------------------------------------
- Rick Stevens, Principal Engineer rstevens@internap.com -
- CDN Systems, Internap, Inc. http://www.internap.com -
- -
- Millihelen, adj: The amount of beauty required to launch one ship. -
----------------------------------------------------------------------

--
fedora-list mailing list
fedora-list@redhat.com
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list

"Mikkel L. Ellertson" 12-07-2007 12:43 AM

Enabling a four-port serial card
 
David Scriven wrote:
> Dear All,
>
> I'm trying to enable a four-port serial card (you'ld be
> surprised how many pieces of equipment still have
> RS232 interfaces). I'm using Fedora 7 on a quad-core
> Intel Q6600 machine with 4GB of memory.
>
<------------[snip]------------->
>
> Clearly /dev/ttyS1 is not OK, but I've no idea how to
> set it up so it is OK - I'd be grateful for any help.
>
You can use setserial to set the ttyS1 to the correct values. Try using:

setserial /dev/ttyS1 port 0x1018, irq 21

I am taking an educated guess at the port number. You can also use
setserial to reorder the ports to what you want.

Now, this is probably not going to make optimum use of the card. You
may want to look at the multi-port options at the end of setserial.
As a long shot, you may also see if loading the parport_serial
module helps. It helps with PCI serial/parallel card I have to make
the serial ports work...

You may also want to look into finding a module specific for your
card. It is not uncommon for this type of card to have one port that
is a register that tells what port generated the interrupt. That
way, the driver does not have to check the status of each serial
port. I would guess the status port is 0x1010.

Mikkel
--

Do not meddle in the affairs of dragons,
for thou art crunchy and taste good with Ketchup!

--
fedora-list mailing list
fedora-list@redhat.com
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list

David Scriven 12-07-2007 01:00 AM

Enabling a four-port serial card
 
Rick Stevens wrote:

>Hmmm. S0, S2 and S3 are all on IRQ21 and using high port numbers, but
>S1 is in the normal spot for a COM2 or second serial port (port 0x2f8,
>IRQ3). Do you possibly have another device sharing IRQ3 or possibly
>port 0x2f8? Check /proc/ioports and any files under /proc/irq/3. Also
>check /var/log/messages and dmesg for any possible information.

In dmesg:

Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a NS16550A
ACPI: PCI Interrupt 0000:07:01.0[A] -> GSI 22 (level, low) -> IRQ 21
0000:07:01.0: ttyS0 at I/O 0x1030 (irq = 21) is a 16550A
0000:07:01.0: ttyS2 at I/O 0x1028 (irq = 21) is a 16550A
0000:07:01.0: ttyS3 at I/O 0x1020 (irq = 21) is a 16550A
Couldn't register serial port 0000:07:01.0: -28

from /proc/ioports:

1000-1fff : PCI Bus #07
1000-100f : 0000:07:01.0
1010-1017 : 0000:07:01.0
1018-101f : 0000:07:01.0
1020-1027 : 0000:07:01.0
1020-1027 : serial
1028-102f : 0000:07:01.0
1028-102f : serial
1030-1037 : 0000:07:01.0
1030-1037 : serial


# ls /proc/irq/21
HDA Intel smp_affinity - contains 0000000c
# ls /proc/irq/3
smp_affinity - contains 0000000f


I'm aware there is a setserial command to enable multiport cards, but it
requires knowledge (i.e. mask values) I don't have.

David Scriven




Looking for a X-Mas gift? Everybody needs a Flickr Pro Account.



http://www.flickr.com/gift/

--
fedora-list mailing list
fedora-list@redhat.com
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list


All times are GMT. The time now is 04:36 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.